Uploaded image for project: 'JBoss Remoting (3+)'
  1. JBoss Remoting (3+)
  2. REM3-385

Limited user-configuration of Remoting Endpoints

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 5.0.23.Final
    • Documentation (Ref Guide, User Guide, etc.), Release Notes, Compatibility/Configuration
    • Undefined

      Remoting Endpoints are used to facilitate communications between client applications and deployments on Wildfly servers. Endpoints manage the creation of Connections (authenticated communication pathways between clients and servers) and Channels (communication pathways on top of Connections which provide support for specific wire-protocols, such as the EJB client wire protocol and Wildfly Transaction client wire-protocol, among others).

      Remoting Endpoints are defined in several places for different purposes:

      • an Endpoint is defined in the Remoting subsystem for receiving incoming invocations to the server
      • one or more Endpoints are defined as a Contextual<Endpoint> to support the use of EJB client applications in deployments on the server that communicate via remote outbound connections to other servers
      • Endpoints are defined on a per-server basis to support user access to the management interfaces on those servers via the management CLI client application

      Endpoints can accept configuration options at various levels:

      • the base XNIO level for configuring low-level XNIO options, such as READ_TIMEOUT, WRITE_TIMEOUT, TCP_KEEP_ALIVE, HEARTBEAT_INTERVAL, etc
      • the Connection level for configuring Connection related options, such as MAX_INBOUND_CHANNELS and MAX_OUTBOUND_CHANNELS, SASL_MECHANISMS, AUTH_REALM, etc
      • the Channel level for configuring Channel-related options, such as MAX_INBOUND_MESSAGES, MAX_OUTBOUND_MESSAGES

      These endpoints are configured in different places:

      • the Remoting subsystem Endpoint is configured via attributes defined in the Remoting subsystem and passed on to the EndpointService for that Endpoint instance
      • the Contextual<Endpoint> instance is configured statically via wildfly-config.xml (they can also be configured dynamically when the need arises)
      • the management CLI endpoints are configured by the management component starting the associated EndpointService

      Two problems with the configuration of Endpoints which relate to EJB client usage:

      • in the case of the Remoting subsystem endpoint, subsystem attributes configured by the user are not being used to initialize the Endpoint instance, so that configuration provided by the user is not being respected
      • in the case of Contextual<Endpoint>, wildfly-config.xml does not permit passing in general XNIO options nor Remoting options, so that these endpoints effectively cannot be configured by the user

      A consequence of this is that EJB client applications which stress the communication pathways, for example by having many EJB client based deployments on a single server, can run into Endpoint configuration limits which cannot be adjusted.

            flaviarnn Flavia Rainone
            rachmato@redhat.com Richard Achmatowicz
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: