public class ChannelPublishingJmsMessageListener extends Object implements SessionAwareMessageListener<Message>, InitializingBean, TrackableComponent, BeanFactoryAware
true
, it will also wait for a Spring Integration reply Message
and convert that into a JMS reply.Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
ChannelPublishingJmsMessageListener() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
String |
getComponentName() |
String |
getComponentType() |
void |
onMessage(Message jmsMessage,
Session session) |
void |
setBeanFactory(BeanFactory beanFactory) |
void |
setComponentName(String componentName) |
void |
setCorrelationKey(String correlationKey)
Provide the name of a JMS property that should be copied from the request
Message to the reply Message.
|
void |
setDefaultReplyDestination(Destination defaultReplyDestination)
Set the default reply destination to send reply messages to.
|
void |
setDefaultReplyQueueName(String destinationName)
Set the name of the default reply queue to send reply messages to.
|
void |
setDefaultReplyTopicName(String destinationName)
Set the name of the default reply topic to send reply messages to.
|
void |
setDestinationResolver(DestinationResolver destinationResolver)
Set the DestinationResolver that should be used to resolve reply
destination names for this listener.
|
void |
setErrorChannel(MessageChannel errorChannel) |
void |
setErrorChannelName(String errorChannelName) |
void |
setExpectReply(boolean expectReply)
Specify whether a JMS reply Message is expected.
|
void |
setExplicitQosEnabledForReplies(boolean explicitQosEnabledForReplies)
Specify whether explicit QoS should be enabled for replies
(for timeToLive, priority, and deliveryMode settings).
|
void |
setExtractReplyPayload(boolean extractReplyPayload)
Specify whether the Spring Integration reply Message's payload should be
extracted prior to converting into a JMS Message.
|
void |
setExtractRequestPayload(boolean extractRequestPayload)
Specify whether the JMS request Message's body should be extracted prior
to converting into a Spring Integration Message.
|
void |
setHeaderMapper(JmsHeaderMapper headerMapper)
Provide a
JmsHeaderMapper implementation to use when
converting between JMS Messages and Spring Integration Messages. |
void |
setMessageConverter(MessageConverter messageConverter)
Provide a
MessageConverter implementation to use when
converting between JMS Messages and Spring Integration Messages. |
void |
setReplyChannel(MessageChannel replyChannel) |
void |
setReplyChannelName(String replyChannelName) |
void |
setReplyDeliveryPersistent(boolean replyDeliveryPersistent)
Specify the delivery mode for JMS reply Messages.
|
void |
setReplyPriority(int replyPriority)
Specify the priority value for JMS reply Messages.
|
void |
setReplyTimeout(long replyTimeout) |
void |
setReplyTimeToLive(long replyTimeToLive)
Specify the time-to-live property for JMS reply Messages.
|
void |
setRequestChannel(MessageChannel requestChannel) |
void |
setRequestChannelName(String requestChannelName) |
void |
setRequestTimeout(long requestTimeout) |
void |
setShouldTrack(boolean shouldTrack) |
protected void |
start() |
protected void |
stop() |
public void setExpectReply(boolean expectReply)
expectReply
- true if a reply is expected.public void setComponentName(String componentName)
public void setRequestChannel(MessageChannel requestChannel)
public void setRequestChannelName(String requestChannelName)
public void setReplyChannel(MessageChannel replyChannel)
public void setReplyChannelName(String replyChannelName)
public void setErrorChannel(MessageChannel errorChannel)
public void setErrorChannelName(String errorChannelName)
public void setRequestTimeout(long requestTimeout)
public void setReplyTimeout(long replyTimeout)
public void setShouldTrack(boolean shouldTrack)
setShouldTrack
in interface TrackableComponent
public String getComponentName()
getComponentName
in interface NamedComponent
public String getComponentType()
getComponentType
in interface NamedComponent
public void setDefaultReplyDestination(Destination defaultReplyDestination)
defaultReplyDestination
- The default reply destination.public void setDefaultReplyQueueName(String destinationName)
Alternatively, specify a JMS Destination object as "defaultReplyDestination".
destinationName
- The default reply destination name.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)
,
setDefaultReplyDestination(javax.jms.Destination)
public void setDefaultReplyTopicName(String destinationName)
Alternatively, specify a JMS Destination object as "defaultReplyDestination".
destinationName
- The default reply topic name.setDestinationResolver(org.springframework.jms.support.destination.DestinationResolver)
,
setDefaultReplyDestination(javax.jms.Destination)
public void setReplyTimeToLive(long replyTimeToLive)
replyTimeToLive
- The reply time to live.MessageProducer.setTimeToLive(long)
public void setReplyPriority(int replyPriority)
replyPriority
- The reply priority.MessageProducer.setPriority(int)
public void setReplyDeliveryPersistent(boolean replyDeliveryPersistent)
replyDeliveryPersistent
- true for a persistent reply message.MessageProducer.setDeliveryMode(int)
public void setCorrelationKey(String correlationKey)
correlationKey
- The correlation key.public void setExplicitQosEnabledForReplies(boolean explicitQosEnabledForReplies)
explicitQosEnabledForReplies
- true to enable explicit QoS.public void setDestinationResolver(DestinationResolver destinationResolver)
The default resolver is a DynamicDestinationResolver. Specify a JndiDestinationResolver for resolving destination names as JNDI locations.
destinationResolver
- The destination resolver.DynamicDestinationResolver
,
JndiDestinationResolver
public void setMessageConverter(MessageConverter messageConverter)
MessageConverter
implementation to use when
converting between JMS Messages and Spring Integration Messages.
If none is provided, a SimpleMessageConverter
will
be used.messageConverter
- The message converter.public void setHeaderMapper(JmsHeaderMapper headerMapper)
JmsHeaderMapper
implementation to use when
converting between JMS Messages and Spring Integration Messages.
If none is provided, a DefaultJmsHeaderMapper
will be used.headerMapper
- The header mapper.public void setExtractRequestPayload(boolean extractRequestPayload)
true
by default. To send the JMS Message itself as a
Spring Integration Message payload, set this to false
.extractRequestPayload
- true if the request payload should be extracted.public void setExtractReplyPayload(boolean extractReplyPayload)
true
by default. To send the Spring Integration Message
itself as the JMS Message's body, set this to false
.extractReplyPayload
- true if the reply payload should be extracted.public void setBeanFactory(BeanFactory beanFactory) throws BeansException
setBeanFactory
in interface BeanFactoryAware
BeansException
public void onMessage(Message jmsMessage, Session session) throws JMSException
onMessage
in interface SessionAwareMessageListener<Message>
JMSException
public void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
protected void start()
protected void stop()