站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBoss 3.2.7 server API Documentation 英文版文档

StatefulSessionContainer (JBoss Server API) - JBoss 3.2.7 server API Documentation 英文版文档


org.jboss.ejb
Class StatefulSessionContainer

java.lang.Object
  extended byorg.jboss.mx.util.JBossNotificationBroadcasterSupport
      extended byorg.jboss.system.ServiceMBeanSupport
          extended byorg.jboss.ejb.Container
              extended byorg.jboss.ejb.StatefulSessionContainer
All Implemented Interfaces:
ContainerMBean, EJBProxyFactoryContainer, InstancePoolContainer, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, org.jboss.system.Service, org.jboss.system.ServiceMBean

public class StatefulSessionContainer
extends Container
implements EJBProxyFactoryContainer, InstancePoolContainer

The container for stateful session beans.

Version:
$Revision: 1.49.2.14 $
Author:
Rickard 脰berg, Daniel OConnor, Marc Fleury, Scott Stark, Jason Dillon

Nested Class Summary
 
Nested classes inherited from class org.jboss.ejb.Container
Container.AbstractContainerInterceptor
 
Field Summary
protected  Map beanMapping
          These are the mappings between the remote interface methods and the bean methods.
protected  Method getEJBObject
           
protected  Map homeMapping
          These are the mappings between the home interface methods and the container methods.
protected  InstanceCache instanceCache
          The instance cache.
protected  InstancePool instancePool
          This is the instancepool that is to be used
protected  Interceptor interceptor
          This is the first interceptor in the chain.
protected  StatefulSessionPersistenceManager persistenceManager
          This is the persistence manager for this container
 
Fields inherited from class org.jboss.ejb.Container
BASE_EJB_CONTAINER_NAME, beanClass, classLoader, createCount, EJB_CONTAINER_QUERY_NAME, ejbModule, homeInterface, invokeStats, localClassLoader, localHomeInterface, localInterface, localProxyFactory, lockManager, marshalledInvocationMapping, metaData, proxyFactories, proxyFactoryTL, remoteInterface, removeCount, rm, securityProxy, sm, tm, webClassLoader
 
Fields inherited from class org.jboss.system.ServiceMBeanSupport
log, server, SERVICE_CONTROLLER_SIG, serviceName
 
Fields inherited from interface org.jboss.system.ServiceMBean
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED
 
Constructor Summary
StatefulSessionContainer()
           
 
Method Summary
 void addInterceptor(Interceptor in)
           
protected  void checkCoherency()
           
protected  Interceptor createContainerInterceptor()
           
 javax.ejb.EJBObject createHome(Invocation mi)
           
 javax.ejb.EJBLocalObject createLocalHome(Invocation mi)
           
protected  void createService()
          The EJBDeployer calls this method.
protected  void destroyService()
          A default implementation of destroying the container service (no-op).
 javax.ejb.EJBHome getEJBHome(Invocation mi)
           
 javax.ejb.EJBLocalHome getEJBLocalHome(Invocation mi)
           
 javax.ejb.EJBMetaData getEJBMetaDataHome(Invocation mi)
           
 javax.ejb.EJBObject getEJBObject(Invocation mi)
          A method for the getEJBObject from the handle
 javax.ejb.Handle getHandle(Invocation mi)
          While the following methods are implemented in the client in the case of JRMP we would need to implement them to fully support other transport protocols
 Class getHomeClass()
          ???
 javax.ejb.HomeHandle getHomeHandleHome(Invocation mi)
           
 InstanceCache getInstanceCache()
           
 InstancePool getInstancePool()
          Get the instance pool for the container.
 Interceptor getInterceptor()
           
 LocalProxyFactory getLocalProxyFactory()
          ???
 Set getMethodPermissions(Method m, InvocationType iface)
          Override getMethodPermissions to work around the fact that stateful session handles obtain their ejb objects by doing an invocation on the container as a home method invocation using the Handle.getEJBObject method.
 StatefulSessionPersistenceManager getPersistenceManager()
           
 Object getPrimaryKey(Invocation mi)
           
 Class getRemoteClass()
          ???
 Object internalInvoke(Invocation mi)
          This method retrieves the instance from an object table, and invokes the method on the particular instance through the chain of interceptors.
 Object internalInvokeHome(Invocation mi)
          This method is called when a method call comes in on the Home object.
 boolean isIdentical(Invocation mi)
           
 void remove(Invocation mi)
           
 void removeHome(Invocation mi)
           
 void removeLocalHome(Invocation mi)
           
 void setInstanceCache(InstanceCache ic)
           
 void setInstancePool(InstancePool ip)
           
 void setPersistenceManager(StatefulSessionPersistenceManager pm)
           
protected  void setupBeanMapping()
           
protected  void setupHomeMapping()
           
protected  void setupMarshalledInvocationMapping()
           
protected  void startService()
          A default implementation of starting the container service.
protected  void stopService()
          A default implementation of stopping the container service (no-op).
 
Methods inherited from class org.jboss.ejb.Container
addProxyFactory, createBeanClassInstance, getBeanClass, getBeanMetaData, getClassLoader, getCreateCount, getDeploymentInfo, getEjbModule, getInvokeStats, getJmxName, getLocalClass, getLocalClassLoader, getLocalHomeClass, getLockManager, getProxyFactory, getRealmMapping, getRemoveCount, getSecurityManager, getSecurityProxy, getTransactionManager, getWebClassLoader, invoke, isCallByValue, lookupProxyFactory, setBeanMetaData, setClassLoader, setDeploymentInfo, setEjbModule, setLocalClassLoader, setLockManager, setProxyFactory, setRealmMapping, setSecurityManager, setSecurityProxy, setTransactionManager, setWebClassLoader
 
Methods inherited from class org.jboss.system.ServiceMBeanSupport
create, destroy, getLog, getName, getNextNotificationSequenceNumber, getObjectName, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop
 
Methods inherited from class org.jboss.mx.util.JBossNotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.ejb.EJBProxyFactoryContainer
getLocalClass, getLocalHomeClass, getProxyFactory
 
Methods inherited from interface org.jboss.system.ServiceMBean
getName, getState, getStateString, jbossInternalLifecycle
 
Methods inherited from interface org.jboss.system.Service
create, destroy, start, stop
 

Field Detail

homeMapping

protected Map homeMapping
These are the mappings between the home interface methods and the container methods.


beanMapping

protected Map beanMapping
These are the mappings between the remote interface methods and the bean methods.


interceptor

protected Interceptor interceptor
This is the first interceptor in the chain. The last interceptor must be provided by the container itself.


instancePool

protected InstancePool instancePool
This is the instancepool that is to be used


persistenceManager

protected StatefulSessionPersistenceManager persistenceManager
This is the persistence manager for this container


instanceCache

protected InstanceCache instanceCache
The instance cache.


getEJBObject

protected Method getEJBObject
Constructor Detail

StatefulSessionContainer

public StatefulSessionContainer()
Method Detail

getLocalProxyFactory

public LocalProxyFactory getLocalProxyFactory()
Description copied from interface: EJBProxyFactoryContainer
???

Specified by:
getLocalProxyFactory in interface EJBProxyFactoryContainer
Returns:
???

setInstanceCache

public void setInstanceCache(InstanceCache ic)

getInstanceCache

public InstanceCache getInstanceCache()

setInstancePool

public void setInstancePool(InstancePool ip)

getInstancePool

public InstancePool getInstancePool()
Description copied from interface: InstancePoolContainer
Get the instance pool for the container.

Specified by:
getInstancePool in interface InstancePoolContainer
Returns:
The instance pool for the container.

getPersistenceManager

public StatefulSessionPersistenceManager getPersistenceManager()

setPersistenceManager

public void setPersistenceManager(StatefulSessionPersistenceManager pm)

addInterceptor

public void addInterceptor(Interceptor in)
Specified by:
addInterceptor in class Container

getInterceptor

public Interceptor getInterceptor()

getHomeClass

public Class getHomeClass()
Description copied from interface: EJBProxyFactoryContainer
???

Specified by:
getHomeClass in interface EJBProxyFactoryContainer
Returns:
???

getRemoteClass

public Class getRemoteClass()
Description copied from interface: EJBProxyFactoryContainer
???

Specified by:
getRemoteClass in interface EJBProxyFactoryContainer
Returns:
???

getMethodPermissions

public Set getMethodPermissions(Method m,
                                InvocationType iface)
Override getMethodPermissions to work around the fact that stateful session handles obtain their ejb objects by doing an invocation on the container as a home method invocation using the Handle.getEJBObject method.

Overrides:
getMethodPermissions in class Container
Parameters:
m -
iface -
Returns:

createService

protected void createService()
                      throws Exception
Description copied from class: Container
The EJBDeployer calls this method. The EJBDeployer has set all the plugins and interceptors that this bean requires and now proceeds to initialize the chain. The method looks for the standard classes in the URL, sets up the naming environment of the bean. The concrete container classes should override this method to introduce implementation specific initialization behaviour.

Overrides:
createService in class Container
Throws:
Exception - if loading the bean class failed (ClassNotFoundException) or setting up "java:" naming environment failed (DeploymentException)

startService

protected void startService()
                     throws Exception
Description copied from class: Container
A default implementation of starting the container service. The container registers it's dynamic MBean interface in the JMX base. The concrete container classes should override this method to introduce implementation specific start behaviour.

Overrides:
startService in class Container
Throws:
Exception - An exception that occured during start

stopService

protected void stopService()
                    throws Exception
Description copied from class: Container
A default implementation of stopping the container service (no-op). The concrete container classes should override this method to introduce implementation specific stop behaviour.

Overrides:
stopService in class Container
Throws:
Exception

destroyService

protected void destroyService()
                       throws Exception
Description copied from class: Container
A default implementation of destroying the container service (no-op). The concrete container classes should override this method to introduce implementation specific destroy behaviour.

Overrides:
destroyService in class Container
Throws:
Exception

internalInvokeHome

public Object internalInvokeHome(Invocation mi)
                          throws Exception
Description copied from class: Container
This method is called when a method call comes in on the Home object. The Container forwards this call to the interceptor chain for further processing.

Specified by:
internalInvokeHome in class Container
Parameters:
mi - the object holding all info about this invocation
Returns:
the result of the home invocation
Throws:
Exception

internalInvoke

public Object internalInvoke(Invocation mi)
                      throws Exception
This method retrieves the instance from an object table, and invokes the method on the particular instance through the chain of interceptors.

Specified by:
internalInvoke in class Container
Parameters:
mi - - the method invocation representation
Returns:
the result of the invocation
Throws:
Exception

remove

public void remove(Invocation mi)
            throws RemoteException,
                   javax.ejb.RemoveException
Throws:
RemoteException
javax.ejb.RemoveException

getHandle

public javax.ejb.Handle getHandle(Invocation mi)
                           throws RemoteException
While the following methods are implemented in the client in the case of JRMP we would need to implement them to fully support other transport protocols

Returns:
Always null
Throws:
RemoteException

getPrimaryKey

public Object getPrimaryKey(Invocation mi)
                     throws RemoteException
Returns:
Always null
Throws:
RemoteException

getEJBHome

public javax.ejb.EJBHome getEJBHome(Invocation mi)
                             throws RemoteException
Throws:
RemoteException

isIdentical

public boolean isIdentical(Invocation mi)
                    throws RemoteException
Returns:
Always false
Throws:
RemoteException

createHome

public javax.ejb.EJBObject createHome(Invocation mi)
                               throws Exception
Throws:
Exception

getEJBLocalHome

public javax.ejb.EJBLocalHome getEJBLocalHome(Invocation mi)

removeLocalHome

public void removeLocalHome(Invocation mi)
                     throws RemoteException,
                            javax.ejb.RemoveException
Throws:
Error - Not yet implemented
RemoteException
javax.ejb.RemoveException

createLocalHome

public javax.ejb.EJBLocalObject createLocalHome(Invocation mi)
                                         throws Exception
Throws:
Exception

getEJBObject

public javax.ejb.EJBObject getEJBObject(Invocation mi)
                                 throws RemoteException
A method for the getEJBObject from the handle

Throws:
RemoteException

removeHome

public void removeHome(Invocation mi)
                throws RemoteException,
                       javax.ejb.RemoveException
Throws:
Error - Not yet implemented
RemoteException
javax.ejb.RemoveException

getEJBMetaDataHome

public javax.ejb.EJBMetaData getEJBMetaDataHome(Invocation mi)
                                         throws RemoteException
Throws:
RemoteException

getHomeHandleHome

public javax.ejb.HomeHandle getHomeHandleHome(Invocation mi)
                                       throws RemoteException
Throws:
Error - Not yet implemented
RemoteException

setupHomeMapping

protected void setupHomeMapping()
                         throws Exception
Throws:
Exception

setupBeanMapping

protected void setupBeanMapping()
                         throws NoSuchMethodException
Throws:
NoSuchMethodException

setupMarshalledInvocationMapping

protected void setupMarshalledInvocationMapping()
                                         throws Exception
Throws:
Exception

createContainerInterceptor

protected Interceptor createContainerInterceptor()

checkCoherency

protected void checkCoherency()
                       throws Exception
Throws:
Exception


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.