Class AbstractMessageEndpointFactory.AbstractMessageEndpoint
java.lang.Object
org.springframework.jca.endpoint.AbstractMessageEndpointFactory.AbstractMessageEndpoint
- All Implemented Interfaces:
- MessageEndpoint
- Enclosing class:
- AbstractMessageEndpointFactory
protected abstract class AbstractMessageEndpointFactory.AbstractMessageEndpoint
extends Object
implements MessageEndpoint
Inner class for actual endpoint implementations, based on template
 method to allow for any kind of concrete endpoint implementation.
- Since:
- 2.5
- Author:
- Juergen Hoeller
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidThisafterDeliveryimplementation resets the thread context ClassLoader and completes the transaction, if any.voidbeforeDelivery(@Nullable Method method) ThisbeforeDeliveryimplementation starts a transaction, if necessary, and exposes the endpoint ClassLoader as current thread context ClassLoader.protected abstract ClassLoaderTemplate method for exposing the endpoint's ClassLoader (typically the ClassLoader that the message listener class has been loaded with).protected final booleanReturn whether thebeforeDelivery(java.lang.reflect.Method)method of this endpoint has already been called.protected voidCallback method for notifying the endpoint base class that the concrete endpoint invocation led to an exception.voidrelease()
- 
Constructor Details- 
AbstractMessageEndpointprotected AbstractMessageEndpoint()
 
- 
- 
Method Details- 
beforeDeliveryThisbeforeDeliveryimplementation starts a transaction, if necessary, and exposes the endpoint ClassLoader as current thread context ClassLoader.Note that the JCA 1.7 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 callbeforeDeliveryand its siblingafterDelivery()explicitly, as part of its own processing.- Specified by:
- beforeDeliveryin interface- MessageEndpoint
- Throws:
- ResourceException
 
- 
getEndpointClassLoaderTemplate method for exposing the endpoint's ClassLoader (typically the ClassLoader that the message listener class has been loaded with).- Returns:
- the endpoint ClassLoader (never null)
 
- 
hasBeforeDeliveryBeenCalledprotected final boolean hasBeforeDeliveryBeenCalled()Return whether thebeforeDelivery(java.lang.reflect.Method)method of this endpoint has already been called.
- 
onEndpointExceptionCallback method for notifying the endpoint base class that the concrete endpoint invocation led to an exception.To be invoked by subclasses in case of the concrete endpoint throwing an exception. - Parameters:
- ex- the exception thrown from the concrete endpoint
 
- 
afterDeliveryThisafterDeliveryimplementation resets the thread context ClassLoader and completes the transaction, if any.Note that the JCA 1.7 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.- Specified by:
- afterDeliveryin interface- MessageEndpoint
- Throws:
- ResourceException
 
- 
releasepublic void release()- Specified by:
- releasein interface- MessageEndpoint
 
 
-