Spring Integration provides Channel Adapters for receiving and sending JMS messages. The inbound Channel Adapter
uses Spring's JmsTemplate
to receive based on a polling period, and the outbound Channel
Adapter uses the JmsTemplate
to convert and send a JMS Message on demand.
Spring Integration also provides inbound and outbound JMS Gateways. The inbound gateway relies on Spring's
DefaultMessageListenerContainer
for Message-driven reception that is also capable of sending
a return value to the "reply-to" Destination as provided by the received Message. The outbound Gateway uses a JMS
QueueRequestor
for request/reply operations. In other words, while the inbound and outbound
Channel Adapters are for unidirectional Messaging, the Gateways are intended for handling request/reply operations.
The inbound Channel Adapter requires a reference to either a single JmsTemplate
instance or both ConnectionFactory
and Destination
(a 'destinationName' can be provided in place of the 'destination' reference). The following example defines an
inbound Channel Adapter with a Destination
reference.
<jms:inbound-channel-adapter id="jmsIn" destination="inQueue" channel="exampleChannel"/>