Interface SessionAwareMessageListener<M extends Message>

Type Parameters:
M - the message type
All Known Implementing Classes:
AbstractAdaptableMessageListener, MessageListenerAdapter, MessagingMessageListenerAdapter
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface SessionAwareMessageListener<M extends 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:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    onMessage(M message, Session session)
    Callback for processing a received JMS message.
  • Method Details

    • onMessage

      void onMessage(M message, Session session) throws 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:
      JMSException - if thrown by JMS methods