## org.jboss.ejb
Class StatefulSessionContainer

    java.lang.Object
      |
      +--org.jboss.ejb.Container
            |
            +--org.jboss.ejb.StatefulSessionContainer

All Implemented Interfaces:
  ContainerInvokerContainer, InstancePoolContainer

public class StatefulSessionContainer
extends Container
implements ContainerInvokerContainer, InstancePoolContainer

<description>

Version:
  $Revision: 1.27.4.2 $
Author:
  Rickard Öberg (rickard.oberg@telkel.com), Daniel OConnor (docodan@mvcsoft.com)
See Also:
  <related>

Field Summary
`protected java.util.Map` `beanMapping`
`protected ContainerInvoker` `containerInvoker`
`protected java.lang.Class` `homeInterface`
`protected java.util.Map` `homeMapping`
`protected InstanceCache` `instanceCache`
`protected InstancePool` `instancePool`
`protected Interceptor` `interceptor`
`protected StatefulSessionPersistenceManager` `persistenceManager`
`protected java.lang.Class` `remoteInterface`

Fields inherited from class org.jboss.ejb.Container
`application, beanClass, classLoader, localClassLoader, localContainerInvoker, localHomeInterface, localInterface, lockManager, log, metaData, rm, securityProxy, sm, tm`

Constructor Summary
`StatefulSessionContainer()`

Method Summary
`void` `addInterceptor(Interceptor in)`
`protected Interceptor` `createContainerInterceptor()`
`javax.ejb.EJBObject` `createHome(MethodInvocation mi)`
`javax.ejb.EJBLocalObject` `createLocalHome(MethodInvocation mi)`
`void` `destroy()` A default implementation of destroying the container service (no-op).
`ContainerInvoker` `getContainerInvoker()`
`javax.ejb.EJBHome` `getEJBHome(MethodInvocation mi)`
`javax.ejb.EJBLocalHome` `getEJBLocalHome(MethodInvocation mi)`
`javax.ejb.EJBMetaData` `getEJBMetaDataHome(MethodInvocation mi)`
`javax.ejb.EJBObject` `getEJBObject(MethodInvocation mi)` A method for the getEJBObject from the handle
`javax.ejb.Handle` `getHandle(MethodInvocation mi)` MF FIXME these are implemented on the client
`java.lang.Class` `getHomeClass()`
`javax.ejb.HomeHandle` `getHomeHandleHome(MethodInvocation mi)`
`InstanceCache` `getInstanceCache()`
`InstancePool` `getInstancePool()`
`Interceptor` `getInterceptor()`
`LocalContainerInvoker` `getLocalContainerInvoker()`
`StatefulSessionPersistenceManager` `getPersistenceManager()`
`java.lang.Object` `getPrimaryKey(MethodInvocation mi)`
`java.lang.Class` `getRemoteClass()`
`void` `init()` The ContainerFactory calls this method.
`java.lang.Object` `invoke(MethodInvocation mi)` This method retrieves the instance from an object table, and invokes the method on the particular instance through the chain of interceptors
`java.lang.Object` `invokeHome(MethodInvocation mi)` This method is called by the ContainerInvoker when a method call comes in on the Home object.
`boolean` `isIdentical(MethodInvocation mi)`
`void` `remove(MethodInvocation mi)`
`void` `removeHome(MethodInvocation mi)` These are implemented in the local proxy
`void` `removeLocalHome(MethodInvocation mi)`
`void` `setContainerInvoker(ContainerInvoker ci)`
`void` `setInstanceCache(InstanceCache ic)`
`void` `setInstancePool(InstancePool ip)`
`void` `setPersistenceManager(StatefulSessionPersistenceManager pm)`
`protected void` `setupBeanMapping()`
`protected void` `setupHomeMapping()`
`void` `start()` A default implementation of starting the container service (no-op).
`void` `stop()` A default implementation of stopping the container service (no-op).

Methods inherited from class org.jboss.ejb.Container

`createBeanClassInstance, getApplication, getBeanClass, getBeanMetaData, getClassLoader, getLocalClass, getLocalClassLoader, getLocalHomeClass, getLockManager, getMethodPermissions, getRealmMapping, getSecurityManager, getSecurityProxy, getTransactionManager, setApplication, setBeanMetaData, setClassLoader, setLocalClassLoader, setLockManager, setRealmMapping, setSecurityManager, setSecurityProxy, setTransactionManager`

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.ContainerInvokerContainer
`getLocalClass, getLocalHomeClass`

Field Detail

### homeInterface

    protected java.lang.Class homeInterface

### remoteInterface

    protected java.lang.Class remoteInterface

### homeMapping

    protected java.util.Map homeMapping

### beanMapping

    protected java.util.Map beanMapping

### containerInvoker

    protected ContainerInvoker containerInvoker

### interceptor

    protected Interceptor interceptor

### instancePool

    protected InstancePool instancePool

### persistenceManager

    protected StatefulSessionPersistenceManager persistenceManager

### instanceCache

    protected InstanceCache instanceCache

Constructor Detail

### StatefulSessionContainer

    public StatefulSessionContainer()

Method Detail

### setContainerInvoker

    public void setContainerInvoker(ContainerInvoker ci)

### getContainerInvoker

    public ContainerInvoker getContainerInvoker()

  Specified by:
    `getContainerInvoker` in interface `ContainerInvokerContainer`

### getLocalContainerInvoker

    public LocalContainerInvoker getLocalContainerInvoker()

  Specified by:
    `getLocalContainerInvoker` in interface `ContainerInvokerContainer`

### setInstanceCache

    public void setInstanceCache(InstanceCache ic)

### getInstanceCache

    public InstanceCache getInstanceCache()

### setInstancePool

    public void setInstancePool(InstancePool ip)

### getInstancePool

    public InstancePool getInstancePool()

  Specified by:
    `getInstancePool` in interface `InstancePoolContainer`

### getPersistenceManager

    public StatefulSessionPersistenceManager getPersistenceManager()

### setPersistenceManager

    public void setPersistenceManager(StatefulSessionPersistenceManager pm)

### addInterceptor

    public void addInterceptor(Interceptor in)

  Overrides:
    `addInterceptor` in class `Container`

### getInterceptor

    public Interceptor getInterceptor()

### getHomeClass

    public java.lang.Class getHomeClass()

  Specified by:
    `getHomeClass` in interface `ContainerInvokerContainer`

### getRemoteClass

    public java.lang.Class getRemoteClass()

  Specified by:
    `getRemoteClass` in interface `ContainerInvokerContainer`

### init

    public void init()
              throws java.lang.Exception

  Description copied from class: `Container`
  The ContainerFactory calls this method. The ContainerFactory 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:
    `init` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Throws:
    `java.lang.Exception` - if loading the bean class failed (ClassNotFoundException) or setting up "java:" naming environment failed (DeploymentException)

### start

    public void start()
               throws java.lang.Exception

  Description copied from class: `Container`
  A default implementation of starting the container service (no-op). The concrete container classes should override this method to introduce implementation specific start behaviour.
  Overrides:
    `start` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Throws:
    `java.lang.Exception` - an exception that occured during start

### stop

    public void stop()

  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:
    `stop` in class `Container`

### destroy

    public void destroy()

  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:
    `destroy` in class `Container`

### invokeHome

    public java.lang.Object invokeHome(MethodInvocation mi)
                                throws java.lang.Exception

  Description copied from class: `Container`
  This method is called by the ContainerInvoker when a method call comes in on the Home object. The Container forwards this call to the interceptor chain for further processing.
  Overrides:
    `invokeHome` in class `Container`
  Following copied from class: `org.jboss.ejb.Container`
  Parameters:
    `mi` - the object holding all info about this invocation
  Returns:
    the result of the home invocation
  Throws:
    `java.lang.Exception` -

### invoke

    public java.lang.Object invoke(MethodInvocation mi)
                            throws java.lang.Exception

  This method retrieves the instance from an object table, and invokes the method on the particular instance through the chain of interceptors
  Overrides:
    `invoke` in class `Container`
  Parameters:
    `mi` -
  Returns:
  Throws:
    `java.lang.Exception` -

### remove

    public void remove(MethodInvocation mi)
                throws java.rmi.RemoteException,
                       javax.ejb.RemoveException

### getHandle

    public javax.ejb.Handle getHandle(MethodInvocation mi)
                               throws java.rmi.RemoteException

  MF FIXME these are implemented on the client

### getPrimaryKey

    public java.lang.Object getPrimaryKey(MethodInvocation mi)
                                   throws java.rmi.RemoteException

### getEJBHome

    public javax.ejb.EJBHome getEJBHome(MethodInvocation mi)
                                 throws java.rmi.RemoteException

### isIdentical

    public boolean isIdentical(MethodInvocation mi)
                        throws java.rmi.RemoteException

### createHome

    public javax.ejb.EJBObject createHome(MethodInvocation mi)
                                   throws java.lang.Exception

### getEJBLocalHome

    public javax.ejb.EJBLocalHome getEJBLocalHome(MethodInvocation mi)

### removeLocalHome

    public void removeLocalHome(MethodInvocation mi)
                         throws java.rmi.RemoteException,
                                javax.ejb.RemoveException

### createLocalHome

    public javax.ejb.EJBLocalObject createLocalHome(MethodInvocation mi)
                                             throws java.lang.Exception

### getEJBObject

    public javax.ejb.EJBObject getEJBObject(MethodInvocation mi)
                                     throws java.rmi.RemoteException

  A method for the getEJBObject from the handle

### removeHome

    public void removeHome(MethodInvocation mi)
                    throws java.rmi.RemoteException,
                           javax.ejb.RemoveException

  These are implemented in the local proxy

### getEJBMetaDataHome

    public javax.ejb.EJBMetaData getEJBMetaDataHome(MethodInvocation mi)
                                             throws java.rmi.RemoteException

### getHomeHandleHome

    public javax.ejb.HomeHandle getHomeHandleHome(MethodInvocation mi)
                                           throws java.rmi.RemoteException

### setupHomeMapping

    protected void setupHomeMapping()
                             throws java.lang.NoSuchMethodException

### setupBeanMapping

    protected void setupBeanMapping()
                             throws java.lang.NoSuchMethodException

### createContainerInterceptor

    protected Interceptor createContainerInterceptor()

Copyright © 2000 The JBoss Organization. All Rights Reserved.