|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jca.endpoint.AbstractMessageEndpointFactory.AbstractMessageEndpoint
protected abstract class AbstractMessageEndpointFactory.AbstractMessageEndpoint
Inner class for actual endpoint implementations, based on template method to allow for any kind of concrete endpoint implementation.
Constructor Summary | |
---|---|
protected |
AbstractMessageEndpointFactory.AbstractMessageEndpoint()
|
Method Summary | |
---|---|
void |
afterDelivery()
This afterDelivery implementation resets the thread context
ClassLoader and completes the transaction, if any. |
void |
beforeDelivery(Method method)
This beforeDelivery implementation starts a transaction,
if necessary, and exposes the endpoint ClassLoader as current
thread context ClassLoader. |
protected abstract ClassLoader |
getEndpointClassLoader()
Template method for exposing the endpoint's ClassLoader (typically the ClassLoader that the message listener class has been loaded with). |
protected boolean |
hasBeforeDeliveryBeenCalled()
Return whether the beforeDelivery(java.lang.reflect.Method) method of this endpoint
has already been called. |
protected void |
onEndpointException(Throwable ex)
Callback method for notifying the endpoint base class that the concrete endpoint invocation led to an exception. |
void |
release()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractMessageEndpointFactory.AbstractMessageEndpoint()
Method Detail |
---|
public void beforeDelivery(Method method) throws ResourceException
beforeDelivery
implementation starts a transaction,
if necessary, and exposes the endpoint ClassLoader as current
thread context ClassLoader.
Note that the JCA 1.5 specification does not require a ResourceAdapter
to call this method before invoking the concrete endpoint. If this method
has not been called (check hasBeforeDeliveryBeenCalled()
), the
concrete endpoint method should call beforeDelivery
and its
sibling afterDelivery()
explicitly, as part of its own processing.
beforeDelivery
in interface MessageEndpoint
ResourceException
protected abstract ClassLoader getEndpointClassLoader()
null
)protected final boolean hasBeforeDeliveryBeenCalled()
beforeDelivery(java.lang.reflect.Method)
method of this endpoint
has already been called.
protected final void onEndpointException(Throwable ex)
To be invoked by subclasses in case of the concrete endpoint throwing an exception.
ex
- the exception thrown from the concrete endpointpublic void afterDelivery() throws ResourceException
afterDelivery
implementation resets the thread context
ClassLoader and completes the transaction, if any.
Note that the JCA 1.5 specification does not require a ResourceAdapter
to call this method after invoking the concrete endpoint. See the
explanation in beforeDelivery(java.lang.reflect.Method)
's javadoc.
afterDelivery
in interface MessageEndpoint
ResourceException
public void release()
release
in interface MessageEndpoint
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |