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.
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.
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.