protected abstract class

AbstractMessageEndpointFactory.AbstractMessageEndpoint

extends Object
java.lang.Object
   ↳ org.springframework.jca.endpoint.AbstractMessageEndpointFactory.AbstractMessageEndpoint

Class Overview

Inner class for actual endpoint implementations, based on template method to allow for any kind of concrete endpoint implementation.

Summary

Protected Constructors
AbstractMessageEndpointFactory.AbstractMessageEndpoint()
Public Methods
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.
void release()
Protected Methods
abstract ClassLoader getEndpointClassLoader()
Template method for exposing the endpoint's ClassLoader (typically the ClassLoader that the message listener class has been loaded with).
final boolean hasBeforeDeliveryBeenCalled()
Return whether the beforeDelivery(Method) method of this endpoint has already been called.
final void onEndpointException(Throwable ex)
Callback method for notifying the endpoint base class that the concrete endpoint invocation led to an exception.
[Expand]
Inherited Methods
From class java.lang.Object

Protected Constructors

protected AbstractMessageEndpointFactory.AbstractMessageEndpoint ()

Public Methods

public void afterDelivery ()

This 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(Method)'s javadoc.

Throws
ResourceException

public void beforeDelivery (Method method)

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

Throws
ResourceException

public void release ()

Protected Methods

protected abstract ClassLoader getEndpointClassLoader ()

Template 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)

protected final boolean hasBeforeDeliveryBeenCalled ()

Return whether the beforeDelivery(Method) method of this endpoint has already been called.

protected final void onEndpointException (Throwable ex)

Callback 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