Class DefaultJmsHeaderMapper

java.lang.Object
org.springframework.integration.jms.JmsHeaderMapper
org.springframework.integration.jms.DefaultJmsHeaderMapper
All Implemented Interfaces:
HeaderMapper<javax.jms.Message>

public class DefaultJmsHeaderMapper
extends JmsHeaderMapper
Default implementation of JmsHeaderMapper.

This implementation copies JMS API headers (e.g. JMSReplyTo) to and from Spring Integration Messages. Any user-defined properties will also be copied from a JMS Message to a Spring Integration Message, and any other headers on a Spring Integration Message (beyond the JMS API headers) will likewise be copied to a JMS Message. Those other headers will be copied to the general properties of a JMS Message whereas the JMS API headers are passed to the appropriate setter methods (e.g. setJMSReplyTo).

Constants for the JMS API headers are defined in JmsHeaders. Note that the JMSMessageID and JMSRedelivered flag are only copied from a JMS Message. Those values will not be passed along from a Spring Integration Message to an outbound JMS Message.

Author:
Mark Fisher, Gary Russell, Artem Bilan
  • Constructor Details

  • Method Details

    • setMapInboundPriority

      public void setMapInboundPriority​(boolean mapInboundPriority)
      Suppress the mapping of inbound priority by using this setter with 'false'.
      Parameters:
      mapInboundPriority - 'false' to suppress mapping the inbound priority.
    • setMapInboundDeliveryMode

      public void setMapInboundDeliveryMode​(boolean mapInboundDeliveryMode)
      Map the inbound deliveryMode by using this setter with 'true'.
      Parameters:
      mapInboundDeliveryMode - 'true' to map the inbound delivery mode.
      Since:
      5.1
    • setMapInboundExpiration

      public void setMapInboundExpiration​(boolean mapInboundExpiration)
      Map the inbound expiration by using this setter with 'true'.
      Parameters:
      mapInboundExpiration - 'true' to map the inbound expiration.
      Since:
      5.1
    • setInboundPrefix

      public void setInboundPrefix​(String inboundPrefix)
      Specify a prefix to be appended to the integration message header name for any JMS property that is being mapped into the MessageHeaders. The Default is an empty string (no prefix).

      This does not affect the JMS properties covered by the specification/API, such as JMSCorrelationID, etc. The header names used for mapping such properties are all defined in our JmsHeaders.

      Parameters:
      inboundPrefix - The inbound prefix.
    • setOutboundPrefix

      public void setOutboundPrefix​(String outboundPrefix)
      Specify a prefix to be appended to the JMS property name for any integration message header that is being mapped into the JMS Message. The Default is an empty string (no prefix).

      This does not affect the JMS properties covered by the specification/API, such as JMSCorrelationID, etc. The header names used for mapping such properties are all defined in our JmsHeaders.

      Parameters:
      outboundPrefix - The outbound prefix.
    • fromHeaders

      public void fromHeaders​(MessageHeaders headers, javax.jms.Message jmsMessage)
    • toHeaders

      public Map<String,​Object> toHeaders​(javax.jms.Message jmsMessage)