org.springframework.ejb.support
Class AbstractStatefulSessionBean
java.lang.Object
org.springframework.ejb.support.AbstractEnterpriseBean
org.springframework.ejb.support.AbstractSessionBean
org.springframework.ejb.support.AbstractStatefulSessionBean
- All Implemented Interfaces:
- Serializable, EnterpriseBean, 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.
- Author:
- Rod Johnson, Colin Sampaleanu
- See Also:
ContextJndiBeanFactoryLocator
,
Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractStatefulSessionBean
public AbstractStatefulSessionBean()
loadBeanFactory
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.
- Throws:
BeansException
- See Also:
AbstractStatelessSessionBean.ejbCreate()
unloadBeanFactory
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()
.
- Throws:
FatalBeanException