public abstract class AbstractMessageEndpointFactory extends Object implements MessageEndpointFactory, org.springframework.beans.factory.BeanNameAware
MessageEndpointFactory interface,
 providing transaction management capabilities as well as ClassLoader
 exposure for endpoint invocations.setTransactionManager(java.lang.Object)| Modifier and Type | Class and Description | 
|---|---|
| protected class  | AbstractMessageEndpointFactory.AbstractMessageEndpointInner class for actual endpoint implementations, based on template
 method to allow for any kind of concrete endpoint implementation. | 
| Modifier and Type | Field and Description | 
|---|---|
| protected Log | loggerLogger available to subclasses. | 
| Constructor and Description | 
|---|
| AbstractMessageEndpointFactory() | 
| Modifier and Type | Method and Description | 
|---|---|
| MessageEndpoint | createEndpoint(XAResource xaResource)The standard JCA 1.5 version of  createEndpoint. | 
| MessageEndpoint | createEndpoint(XAResource xaResource,
              long timeout)The alternative JCA 1.6 version of  createEndpoint. | 
| protected abstract AbstractMessageEndpointFactory.AbstractMessageEndpoint | createEndpointInternal()Create the actual endpoint instance, as a subclass of the
  AbstractMessageEndpointFactory.AbstractMessageEndpointinner class of this factory. | 
| String | getActivationName()Implementation of the JCA 1.7  #getActivationName()method,
 returning the bean name as set on this MessageEndpointFactory. | 
| Class<?> | getEndpointClass()Implementation of the JCA 1.7  #getEndpointClass()method,
 returning  null in order to indicate a synthetic endpoint type. | 
| boolean | isDeliveryTransacted(Method method)This implementation returns  trueif a transaction manager
 has been specified;falseotherwise. | 
| void | setBeanName(String beanName)Set the name of this message endpoint. | 
| void | setTransactionFactory(TransactionFactory transactionFactory)Set the Spring TransactionFactory to use for wrapping endpoint
 invocations, enlisting the endpoint resource in each such transaction. | 
| void | setTransactionManager(Object transactionManager)Set the XA transaction manager to use for wrapping endpoint
 invocations, enlisting the endpoint resource in each such transaction. | 
| void | setTransactionName(String transactionName)Specify the name of the transaction, if any. | 
| void | setTransactionTimeout(int transactionTimeout)Specify the transaction timeout, if any. | 
protected final Log logger
public void setTransactionManager(Object transactionManager)
The passed-in object may be a transaction manager which implements
 Spring's TransactionFactory
 interface, or a plain TransactionManager.
 
If no transaction manager is specified, the endpoint invocation will simply not be wrapped in an XA transaction. Check out your resource provider's ActivationSpec documentation for local transaction options of your particular provider.
public void setTransactionFactory(TransactionFactory transactionFactory)
Alternatively, specify an appropriate transaction manager through
 the "transactionManager" property.
 
If no transaction factory is specified, the endpoint invocation will simply not be wrapped in an XA transaction. Check out your resource provider's ActivationSpec documentation for local transaction options of your particular provider.
public void setTransactionName(String transactionName)
Default is none. A specified name will be passed on to the transaction manager, allowing to identify the transaction in a transaction monitor.
public void setTransactionTimeout(int transactionTimeout)
Default is -1: rely on the transaction manager's default timeout. Specify a concrete timeout to restrict the maximum duration of each endpoint invocation.
public void setBeanName(String beanName)
setBeanName in interface org.springframework.beans.factory.BeanNameAware@Nullable public String getActivationName()
#getActivationName() method,
 returning the bean name as set on this MessageEndpointFactory.getActivationName in interface MessageEndpointFactorysetBeanName(java.lang.String)@Nullable public Class<?> getEndpointClass()
#getEndpointClass() method,
 returning  null in order to indicate a synthetic endpoint type.getEndpointClass in interface MessageEndpointFactorypublic boolean isDeliveryTransacted(Method method) throws NoSuchMethodException
true if a transaction manager
 has been specified; false otherwise.isDeliveryTransacted in interface MessageEndpointFactoryNoSuchMethodExceptionsetTransactionManager(java.lang.Object), 
setTransactionFactory(org.springframework.transaction.jta.TransactionFactory)public MessageEndpoint createEndpoint(XAResource xaResource) throws UnavailableException
createEndpoint.
 This implementation delegates to createEndpointInternal(),
 initializing the endpoint's XAResource before the endpoint gets invoked.
createEndpoint in interface MessageEndpointFactoryUnavailableExceptionpublic MessageEndpoint createEndpoint(XAResource xaResource, long timeout) throws UnavailableException
createEndpoint.
 This implementation delegates to createEndpointInternal(),
 ignoring the specified timeout. It is only here for JCA 1.6 compliance.
createEndpoint in interface MessageEndpointFactoryUnavailableExceptionprotected abstract AbstractMessageEndpointFactory.AbstractMessageEndpoint createEndpointInternal() throws UnavailableException
AbstractMessageEndpointFactory.AbstractMessageEndpoint inner class of this factory.null)UnavailableException - if no endpoint is available at present