|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.ejb.support.AbstractEnterpriseBean org.springframework.ejb.support.AbstractMessageDrivenBean
public abstract class AbstractMessageDrivenBean
Convenient superclass for MDBs. Doesn't require JMS, as EJB 2.1 MDBs are no longer JMS-specific: see the AbstractJmsMessageDrivenBean subclass.
This class ensures that subclasses have access to the MessageDrivenContext provided by the EJB container, and implement a no argument ejbCreate() method as required by the EJB specification. This ejbCreate() method loads a BeanFactory, before invoking the onEjbCreate() method, which should contain subclass-specific initialization.
NB: We cannot use final methods to implement EJB API methods, as this violates the EJB specification. However, there should be no need to override the setMessageDrivenContext() or ejbCreate() methods.
Field Summary | |
---|---|
protected Log |
logger
|
Fields inherited from class org.springframework.ejb.support.AbstractEnterpriseBean |
---|
BEAN_FACTORY_PATH_ENVIRONMENT_KEY |
Constructor Summary | |
---|---|
AbstractMessageDrivenBean()
|
Method Summary | |
---|---|
void |
ejbCreate()
Lifecycle method required by the EJB specification but not the MessageDrivenBean interface. |
protected MessageDrivenContext |
getMessageDrivenContext()
Convenience method for subclasses to use. |
protected abstract void |
onEjbCreate()
Subclasses must implement this method to do any initialization they would otherwise have done in an ejbCreate() method. |
void |
setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
Required lifecycle method. |
Methods inherited from class org.springframework.ejb.support.AbstractEnterpriseBean |
---|
ejbRemove, getBeanFactory, loadBeanFactory, onEjbRemove, setBeanFactoryLocator, setBeanFactoryLocatorKey, unloadBeanFactory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.ejb.MessageDrivenBean |
---|
ejbRemove |
Field Detail |
---|
protected final Log logger
Constructor Detail |
---|
public AbstractMessageDrivenBean()
Method Detail |
---|
public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext)
setMessageDrivenContext
in interface MessageDrivenBean
messageDrivenContext
- MessageDrivenContextprotected final MessageDrivenContext getMessageDrivenContext()
public void ejbCreate()
Don't override it (although it can't be made final): code 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 and the BeanFactory may require it.
protected abstract void onEjbCreate()
The same restrictions apply to the work of this method as to an ejbCreate() method.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |