JBoss.org Community Documentation

3.6.2.2. The PooledInvoker - RMI/Socket Transport

The org.jboss.invocation.pooled.server.PooledInvoker is an MBean service that provides RMI over a custom socket transport implementation of the Invoker interface. The PooledInvoker exports itself as an RMI server so that when it is used as the Invoker in a remote client, the PooledInvoker stub is sent to the client instead and invocations use the custom socket protocol.

The PooledInvoker MBean supports a number of attribute to configure the socket transport layer. Its configurable attributes are:

  • NumAcceptThreads : The number of threads that exist for accepting client connections. The default is 1.

  • MaxPoolSize : The number of server threads for processing client. The default is 300.

  • SocketTimeout : The socket timeout value passed to the Socket.setSoTimeout() method. The default is 60000.

  • ServerBindPort : The port used for the server socket. A value of 0 indicates that an anonymous port should be chosen.

  • ClientConnectAddress : The address that the client passes to the Socket(addr, port) constructor. This defaults to the server InetAddress.getLocalHost() value.

  • ClientConnectPort : The port that the client passes to the Socket(addr, port) constructor. The default is the port of the server listening socket.

  • ClientMaxPoolSize : The client side maximum number of threads. The default is 300.

  • Backlog : The backlog associated with the server accept socket. The default is 200.

  • EnableTcpNoDelay : A boolean flag indicating if client sockets will enable the TcpNoDelay flag on the socket. The default is false.

  • ServerBindAddress : The address on which the server binds its listening socket. The default is an empty value which indicates the server should be bound on all interfaces.

  • TransactionManagerService : The JMX ObjectName of the JTA transaction manager service.