|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.context.IntegrationObjectSupport org.springframework.integration.handler.AbstractMessageHandler org.springframework.integration.handler.AbstractReplyProducingMessageHandler org.springframework.integration.jms.JmsOutboundGateway
public class JmsOutboundGateway
An outbound Messaging Gateway for request/reply JMS.
Field Summary |
---|
Fields inherited from class org.springframework.integration.handler.AbstractMessageHandler |
---|
logger |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
JmsOutboundGateway()
|
Method Summary | |
---|---|
protected javax.jms.Connection |
createConnection()
Create a new JMS Connection for this JMS gateway, ideally a javax.jms.QueueConnection . |
protected javax.jms.Session |
createSession(javax.jms.Connection connection)
Create a new JMS Session for this JMS gateway, ideally a javax.jms.QueueSession . |
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information. |
protected java.lang.Object |
handleRequestMessage(Message<?> message)
Subclasses must implement this method to handle the request Message. |
void |
onInit()
Subclasses may implement this for initialization logic. |
void |
setConnectionFactory(javax.jms.ConnectionFactory connectionFactory)
Set the JMS ConnectionFactory that this gateway should use. |
void |
setCorrelationKey(java.lang.String correlationKey)
Provide the name of a JMS property that should hold a generated UUID that the receiver of the JMS Message would expect to represent the CorrelationID. |
void |
setDeliveryMode(int deliveryMode)
Specify the JMS DeliveryMode to use when sending request Messages. |
void |
setDeliveryPersistent(boolean deliveryPersistent)
Set whether message delivery should be persistent or non-persistent, specified as a boolean value ("true" or "false"). |
void |
setDestinationResolver(DestinationResolver destinationResolver)
Provide the DestinationResolver to use when resolving either a
'requestDestinationName' or 'replyDestinationName' value. |
void |
setExplicitQosEnabled(boolean explicitQosEnabled)
Specify whether explicit QoS settings are enabled (deliveryMode, priority, and timeToLive). |
void |
setExtractReplyPayload(boolean extractReplyPayload)
This property describes what to do with a JMS reply Message. |
void |
setExtractRequestPayload(boolean extractRequestPayload)
This property describes how a JMS Message should be generated from the Spring Integration Message. |
void |
setHeaderMapper(JmsHeaderMapper headerMapper)
Provide a JmsHeaderMapper implementation for mapping the
Spring Integration Message Headers to/from JMS Message properties. |
void |
setMessageConverter(MessageConverter messageConverter)
Provide a MessageConverter strategy to use for converting the
Spring Integration request Message into a JMS Message and for converting
the JMS reply Messages back into Spring Integration Messages. |
void |
setPriority(int priority)
Specify the JMS priority to use when sending request Messages. |
void |
setReceiveTimeout(long receiveTimeout)
Set the max timeout value for the MessageConsumer's receive call when waiting for a reply. |
void |
setReplyChannel(MessageChannel replyChannel)
Specify the Spring Integration reply channel. |
void |
setReplyDestination(javax.jms.Destination replyDestination)
Set the JMS Destination from which reply Messages should be received. |
void |
setReplyDestinationName(java.lang.String replyDestinationName)
Set the name of the JMS Destination from which reply Messages should be received. |
void |
setReplyPubSubDomain(boolean replyPubSubDomain)
Specify whether the reply destination is a Topic. |
void |
setRequestDestination(javax.jms.Destination requestDestination)
Set the JMS Destination to which request Messages should be sent. |
void |
setRequestDestinationName(java.lang.String requestDestinationName)
Set the name of the JMS Destination to which request Messages should be sent. |
void |
setRequestPubSubDomain(boolean requestPubSubDomain)
Specify whether the request destination is a Topic. |
void |
setTimeToLive(long timeToLive)
Specify the timeToLive for each sent Message. |
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler |
---|
getMessagingTemplate, handleMessageInternal, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders |
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler |
---|
getOrder, handleMessage, setOrder, setShouldTrack |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.springframework.integration.context.NamedComponent |
---|
getComponentName |
Constructor Detail |
---|
public JmsOutboundGateway()
Method Detail |
---|
public void setDeliveryPersistent(boolean deliveryPersistent)
The default is "true", i.e. delivery mode "PERSISTENT".
setDeliveryMode(int)
,
DeliveryMode.PERSISTENT
,
DeliveryMode.NON_PERSISTENT
public void setConnectionFactory(javax.jms.ConnectionFactory connectionFactory)
public void setRequestDestination(javax.jms.Destination requestDestination)
public void setRequestDestinationName(java.lang.String requestDestinationName)
public void setReplyDestination(javax.jms.Destination replyDestination)
TemporaryQueue
per invocation.
public void setReplyDestinationName(java.lang.String replyDestinationName)
TemporaryQueue
per invocation.
public void setDestinationResolver(DestinationResolver destinationResolver)
DestinationResolver
to use when resolving either a
'requestDestinationName' or 'replyDestinationName' value. The default
is an instance of DynamicDestinationResolver
.
public void setRequestPubSubDomain(boolean requestPubSubDomain)
requestPubSubDomain
- true if the request destination is a Topicpublic void setReplyPubSubDomain(boolean replyPubSubDomain)
replyPubSubDomain
- true if the reply destination is a Topicpublic void setReceiveTimeout(long receiveTimeout)
public void setDeliveryMode(int deliveryMode)
public void setPriority(int priority)
public void setTimeToLive(long timeToLive)
public void setExplicitQosEnabled(boolean explicitQosEnabled)
public void setCorrelationKey(java.lang.String correlationKey)
public void setMessageConverter(MessageConverter messageConverter)
MessageConverter
strategy to use for converting the
Spring Integration request Message into a JMS Message and for converting
the JMS reply Messages back into Spring Integration Messages.
The default is SimpleMessageConverter
.
public void setHeaderMapper(JmsHeaderMapper headerMapper)
JmsHeaderMapper
implementation for mapping the
Spring Integration Message Headers to/from JMS Message properties.
public void setExtractRequestPayload(boolean extractRequestPayload)
MessageConverter
:
the entire Spring Integration Message or only its payload.
extractRequestPayload
- public void setExtractReplyPayload(boolean extractReplyPayload)
extractReplyPayload
- public void setReplyChannel(MessageChannel replyChannel)
public java.lang.String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessageHandler
public final void onInit()
IntegrationObjectSupport
onInit
in class AbstractReplyProducingMessageHandler
protected java.lang.Object handleRequestMessage(Message<?> message)
AbstractReplyProducingMessageHandler
handleRequestMessage
in class AbstractReplyProducingMessageHandler
protected javax.jms.Connection createConnection() throws javax.jms.JMSException
javax.jms.QueueConnection
.
The default implementation uses the
javax.jms.QueueConnectionFactory
API if available,
falling back to a standard JMS 1.1 ConnectionFactory otherwise.
This is necessary for working with generic JMS 1.1 connection pools
(such as ActiveMQ's org.apache.activemq.pool.PooledConnectionFactory
).
javax.jms.JMSException
protected javax.jms.Session createSession(javax.jms.Connection connection) throws javax.jms.JMSException
javax.jms.QueueSession
.
The default implementation uses the
javax.jms.QueueConnection
API if available,
falling back to a standard JMS 1.1 Connection otherwise.
This is necessary for working with generic JMS 1.1 connection pools
(such as ActiveMQ's org.apache.activemq.pool.PooledConnectionFactory
).
javax.jms.JMSException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |