Spring Framework

Class AbstractStatefulSessionBean

  extended by org.springframework.ejb.support.AbstractEnterpriseBean
      extended by org.springframework.ejb.support.AbstractSessionBean
          extended by org.springframework.ejb.support.AbstractStatefulSessionBean
All Implemented Interfaces:
java.io.Serializable, javax.ejb.EnterpriseBean, javax.ejb.SessionBean, SmartSessionBean

public abstract class AbstractStatefulSessionBean
extends AbstractSessionBean

Convenient base class for EJB 2.x stateful session beans (SFSBs). SFSBs should extend this class, leaving them to implement the ejbActivate() and ejbPassivate() lifecycle methods to comply with the requirements of the EJB specification.

Note: Subclasses should invoke the loadBeanFactory() method in their custom ejbCreate() and ejbActivate() methods, and should invoke the unloadBeanFactory() method in their ejbPassivate method.

Note: The default BeanFactoryLocator used by this class's superclass (ContextJndiBeanFactoryLocator) is not serializable. Therefore, when using the default BeanFactoryLocator, or another variant which is not serializable, subclasses must call setBeanFactoryLocator(null) in ejbPassivate(), with a corresponding call to setBeanFactoryLocator(xxx) in ejbActivate() unless relying on the default locator.

Rod Johnson, Colin Sampaleanu
See Also:
ContextJndiBeanFactoryLocator, Serialized Form

Field Summary
Fields inherited from class org.springframework.ejb.support.AbstractEnterpriseBean
Constructor Summary
Method Summary
protected  void loadBeanFactory()
          Load a Spring BeanFactory namespace.
protected  void unloadBeanFactory()
          Unload the Spring BeanFactory instance.
Methods inherited from class org.springframework.ejb.support.AbstractSessionBean
getSessionContext, setSessionContext
Methods inherited from class org.springframework.ejb.support.AbstractEnterpriseBean
ejbRemove, getBeanFactory, onEjbRemove, setBeanFactoryLocator, setBeanFactoryLocatorKey
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.ejb.SessionBean
ejbActivate, ejbPassivate, ejbRemove

Constructor Detail


public AbstractStatefulSessionBean()
Method Detail


protected void loadBeanFactory()
                        throws BeansException
Load a Spring BeanFactory namespace. Exposed for subclasses to load a BeanFactory in their ejbCreate() methods. Those callers would normally want to catch BeansException and rethrow it as CreateException. Unless the BeanFactory is known to be serializable, this method must also be called from ejbActivate(), to reload a context removed via a call to unloadBeanFactory() from the ejbPassivate() implementation.

See Also:


protected void unloadBeanFactory()
                          throws FatalBeanException
Unload the Spring BeanFactory instance. The default ejbRemove() method invokes this method, but subclasses which override ejbRemove() must invoke this method themselves.

Unless the BeanFactory is known to be serializable, this method must also be called from ejbPassivate(), with a corresponding call to loadBeanFactory() from ejbActivate().


Spring Framework