Save This Page
Home » jboss-5.0.0.CR1-src » org.jboss.invocation.pooled » server » [javadoc | source]
org.jboss.invocation.pooled.server
public class: PooledInvokerHA [javadoc | source]
java.lang.Object
   org.jboss.mx.util.JBossNotificationBroadcasterSupport
      org.jboss.system.ServiceMBeanSupport
         org.jboss.invocation.pooled.server.PooledInvoker
            org.jboss.invocation.pooled.server.PooledInvokerHA

All Implemented Interfaces:
    InvokerHA, PooledInvokerMBean, Runnable, org.jboss.kernel.spi.dependency.KernelControllerContextAware, ServiceMBean, MBeanRegistration, NotificationEmitter

This invoker pools Threads and client connections to one server socket. The purpose is to avoid a bunch of failings of RMI. 1. Avoid making a client socket connection with every invocation call. This is very expensive. Also on windows if too many clients try to connect at the same time, you get connection refused exceptions. This invoker/proxy combo alleviates this. 2. Avoid creating a thread per invocation. The client/server connection is preserved and attached to the same thread. So we have connection pooling on the server and client side, and thread pooling on the server side. Pool, is an LRU pool, so resources should be cleaned up.
Field Summary
protected  HashMap beanMap     
Fields inherited from org.jboss.invocation.pooled.server.PooledInvoker:
log,  enableTcpNoDelay,  serverBindAddress,  serverBindPort,  clientConnectAddress,  clientConnectPort,  clientRetryCount,  backlog,  clientSocketFactoryName,  serverSocketFactoryName,  clientSocketFactory,  serverSocketFactory,  serverSocket,  sslDomain,  timeout,  maxPoolSize,  clientMaxPoolSize,  numAcceptThreads,  acceptThreads,  clientpool,  threadpool,  running,  trace,  transactionManagerService,  optimizedInvokerProxy,  tpcFactory,  tpcImporter
Fields inherited from org.jboss.system.ServiceMBeanSupport:
SERVICE_CONTROLLER_SIG,  log,  server,  serviceName
Method from org.jboss.invocation.pooled.server.PooledInvokerHA Summary:
createProxy,   getStub,   invoke,   jmxBind,   registerBean,   unregisterBean
Methods from org.jboss.invocation.pooled.server.PooledInvoker:
destroyService,   getBacklog,   getClientConnectAddress,   getClientConnectPort,   getClientMaxPoolSize,   getClientRetryCount,   getClientSocketFactory,   getClientSocketFactoryName,   getCurrentClientPoolSize,   getCurrentThreadPoolSize,   getMaxPoolSize,   getNumAcceptThreads,   getOptimizedInvokerProxy,   getServerBindAddress,   getServerBindPort,   getServerSocket,   getServerSocketFactory,   getServerSocketFactoryName,   getSocketTimeout,   getSslDomain,   getTransactionManagerService,   importTPC,   invoke,   isEnableTcpNoDelay,   jmxBind,   loadCustomSocketFactories,   run,   setBacklog,   setClientConnectAddress,   setClientConnectPort,   setClientMaxPoolSize,   setClientRetryCount,   setClientSocketFactory,   setClientSocketFactoryName,   setEnableTcpNoDelay,   setMaxPoolSize,   setNumAcceptThreads,   setServerBindAddress,   setServerBindPort,   setServerSocket,   setServerSocketFactory,   setServerSocketFactoryName,   setSocketTimeout,   setSslDomain,   setTransactionManagerService,   startService,   stopService
Methods from org.jboss.system.ServiceMBeanSupport:
create,   createService,   destroy,   destroyService,   getDeploymentInfo,   getLog,   getName,   getNextNotificationSequenceNumber,   getObjectName,   getServer,   getServiceName,   getState,   getStateString,   jbossInternalCreate,   jbossInternalDescription,   jbossInternalDestroy,   jbossInternalLifecycle,   jbossInternalStart,   jbossInternalStop,   pojoChange,   pojoCreate,   pojoDestroy,   pojoStart,   pojoStop,   postDeregister,   postRegister,   preDeregister,   preRegister,   setKernelControllerContext,   start,   startService,   stop,   stopService,   unsetKernelControllerContext
Methods from org.jboss.mx.util.JBossNotificationBroadcasterSupport:
addNotificationListener,   getNotificationInfo,   handleNotification,   nextNotificationSequenceNumber,   removeNotificationListener,   removeNotificationListener,   sendNotification
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.jboss.invocation.pooled.server.PooledInvokerHA Detail:
 public Invoker createProxy(ObjectName beanName,
    LoadBalancePolicy policy,
    String proxyFamilyName) throws Exception 
 public Serializable getStub() 
 public Object invoke(Invocation invocation) throws Exception 
    Invoke a Remote interface method.
 protected  void jmxBind() 
 public  void registerBean(ObjectName beanName,
    HATarget target) throws Exception 
 public  void unregisterBean(ObjectName beanName) throws Exception