Class AbstractStatefulSessionBean

  extended by
      extended by
          extended by
All Implemented Interfaces:
Serializable, EnterpriseBean, SessionBean, SmartSessionBean

public abstract class AbstractStatefulSessionBean
extends AbstractSessionBean

Convenient superclass for stateful session beans. 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
Constructor Summary
Method Summary
protected  void loadBeanFactory()
          Load a Spring BeanFactory namespace.
protected  void unloadBeanFactory()
          Unload the Spring BeanFactory instance.
Methods inherited from class
getSessionContext, setSessionContext
Methods inherited from class
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 ejbPassivate.

loadBeanFactory in class AbstractEnterpriseBean
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.

unloadBeanFactory in class AbstractEnterpriseBean

Copyright (c) 2002-2007 The Spring Framework Project.