Spring Framework

org.springframework.jms.listener
Interface SessionAwareMessageListener<M extends javax.jms.Message>

All Known Implementing Classes:
JmsInvokerServiceExporter, MessageListenerAdapter, MessageListenerAdapter102

public interface SessionAwareMessageListener<M extends javax.jms.Message>

Variant of the standard JMS MessageListener interface, offering not only the received Message but also the underlying JMS Session object. The latter can be used to send reply messages, without the need to access an external Connection/Session, i.e. without the need to access the underlying ConnectionFactory.

Supported by Spring's DefaultMessageListenerContainer and SimpleMessageListenerContainer, as direct alternative to the standard JMS MessageListener interface. Typically not supported by JCA-based listener containers: For maximum compatibility, implement a standard JMS MessageListener instead.

Since:
2.0
Author:
Juergen Hoeller
See Also:
AbstractMessageListenerContainer.setMessageListener(java.lang.Object), DefaultMessageListenerContainer, SimpleMessageListenerContainer, JmsMessageEndpointManager, MessageListener

Method Summary
 void onMessage(M message, javax.jms.Session session)
          Callback for processing a received JMS message.
 

Method Detail

onMessage

void onMessage(M message,
               javax.jms.Session session)
               throws javax.jms.JMSException
Callback for processing a received JMS message.

Implementors are supposed to process the given Message, typically sending reply messages through the given Session.

Parameters:
message - the received JMS message (never null)
session - the underlying JMS Session (never null)
Throws:
javax.jms.JMSException - if thrown by JMS methods

Spring Framework