Package org.springframework.jca.endpoint
Class GenericMessageEndpointFactory
- java.lang.Object
- org.springframework.jca.endpoint.AbstractMessageEndpointFactory
- org.springframework.jca.endpoint.GenericMessageEndpointFactory
- All Implemented Interfaces:
MessageEndpointFactory
,Aware
,BeanNameAware
public class GenericMessageEndpointFactory extends AbstractMessageEndpointFactory
Generic implementation of the JCA 1.5MessageEndpointFactory
interface, providing transaction management capabilities for any kind of message listener object (e.g.MessageListener
objects orMessageListener
objects.Uses AOP proxies for concrete endpoint instances, simply wrapping the specified message listener object and exposing all of its implemented interfaces on the endpoint instance.
Typically used with Spring's
GenericMessageEndpointManager
, but not tied to it. As a consequence, this endpoint factory could also be used with programmatic endpoint management on a nativeResourceAdapter
instance.- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
setMessageListener(java.lang.Object)
,AbstractMessageEndpointFactory.setTransactionManager(java.lang.Object)
,GenericMessageEndpointManager
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GenericMessageEndpointFactory.InternalResourceException
Internal exception thrown when a ResourceException has been encountered during the endpoint invocation.Nested classes/interfaces inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory
AbstractMessageEndpointFactory.AbstractMessageEndpoint
Field Summary
Fields inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory
logger
Constructor Summary
Constructors Constructor Description GenericMessageEndpointFactory()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MessageEndpoint
createEndpoint(XAResource xaResource)
Wrap each concrete endpoint instance with an AOP proxy, exposing the message listener's interfaces as well as the endpoint SPI through an AOP introduction.protected AbstractMessageEndpointFactory.AbstractMessageEndpoint
createEndpointInternal()
Creates a concrete generic message endpoint, internal to this factory.void
setMessageListener(Object messageListener)
Specify the message listener object that the endpoint should expose (e.g.Methods inherited from class org.springframework.jca.endpoint.AbstractMessageEndpointFactory
createEndpoint, getActivationName, isDeliveryTransacted, setBeanName, setTransactionFactory, setTransactionManager, setTransactionName, setTransactionTimeout
Constructor Detail
GenericMessageEndpointFactory
public GenericMessageEndpointFactory()
Method Detail
setMessageListener
public void setMessageListener(Object messageListener)
Specify the message listener object that the endpoint should expose (e.g. aMessageListener
objects orMessageListener
implementation).
createEndpoint
public MessageEndpoint createEndpoint(XAResource xaResource) throws UnavailableException
Wrap each concrete endpoint instance with an AOP proxy, exposing the message listener's interfaces as well as the endpoint SPI through an AOP introduction.- Specified by:
createEndpoint
in interfaceMessageEndpointFactory
- Overrides:
createEndpoint
in classAbstractMessageEndpointFactory
- Throws:
UnavailableException
createEndpointInternal
protected AbstractMessageEndpointFactory.AbstractMessageEndpoint createEndpointInternal() throws UnavailableException
Creates a concrete generic message endpoint, internal to this factory.- Specified by:
createEndpointInternal
in classAbstractMessageEndpointFactory
- Returns:
- the actual endpoint instance (never
null
) - Throws:
UnavailableException
- if no endpoint is available at present