| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.ejb.support.AbstractEnterpriseBean
org.springframework.ejb.support.AbstractSessionBean
org.springframework.ejb.support.AbstractStatelessSessionBean
public abstract class AbstractStatelessSessionBean
Convenient base class for EJB 2.x stateless session beans (SLSBs), minimizing the work involved in implementing an SLSB and preventing common errors. Note that SLSBs are the most useful kind of EJB.
As the ejbActivate() and ejbPassivate() methods cannot be invoked on SLSBs, these methods are implemented to throw an exception and should not be overriden by subclasses. (Unfortunately the EJB specification forbids enforcing this by making EJB lifecycle methods final.)
There should be no need to override the setSessionContext()
 or ejbCreate() lifecycle methods.
 
Subclasses are left to implement the onEjbCreate() method
 to do whatever initialization they wish to do after their BeanFactory has
 already been loaded, and is available from the getBeanFactory()
 method.
 
This class provides the no-arg ejbCreate() method required
 by the EJB specification, but not the SessionBean interface, eliminating
 a common cause of EJB deployment failure.
| Field Summary | |
|---|---|
| protected  Log | loggerLogger available to subclasses | 
| Fields inherited from class org.springframework.ejb.support.AbstractEnterpriseBean | 
|---|
| BEAN_FACTORY_PATH_ENVIRONMENT_KEY | 
| Constructor Summary | |
|---|---|
| AbstractStatelessSessionBean() | |
| Method Summary | |
|---|---|
|  void | ejbActivate() | 
|  void | ejbCreate()This implementation loads the BeanFactory. | 
|  void | ejbPassivate() | 
| protected abstract  void | onEjbCreate()Subclasses must implement this method to do any initialization they would otherwise have done in an ejbCreate()method. | 
| 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 | 
|---|
| ejbRemove | 
| Field Detail | 
|---|
protected final Log logger
| Constructor Detail | 
|---|
public AbstractStatelessSessionBean()
| Method Detail | 
|---|
public void ejbCreate()
               throws CreateException
Don't override it (although it can't be made final): code your own initialization in onEjbCreate(), which is called when the BeanFactory is available.
Unfortunately we can't load the BeanFactory in setSessionContext(), as resource manager access isn't permitted there - but the BeanFactory may require it.
CreateException
protected abstract void onEjbCreate()
                             throws CreateException
ejbCreate() method.
 In contrast to ejbCreate, the BeanFactory will have been loaded here.
 The same restrictions apply to the work of this method as
 to an ejbCreate() method.
CreateException
public void ejbActivate()
                 throws EJBException
EJBExceptionThis method always throws an exception, as
 it should not be invoked by the EJB container.
public void ejbPassivate()
                  throws EJBException
EJBExceptionThis method always throws an exception, as
 it should not be invoked by the EJB container.| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||