Class JmsMessageHelper


  • public final class JmsMessageHelper
    extends Object
    Utility class for Message.
    • Method Detail

      • removeJmsProperty

        public static Object removeJmsProperty​(javax.jms.Message jmsMessage,
                                               String name)
                                        throws javax.jms.JMSException
        Removes the property from the JMS message.
        Parameters:
        jmsMessage - the JMS message
        name - name of the property to remove
        Returns:
        the old value of the property or null if not exists
        Throws:
        javax.jms.JMSException - can be thrown
      • hasProperty

        public static boolean hasProperty​(javax.jms.Message jmsMessage,
                                          String name)
                                   throws javax.jms.JMSException
        Tests whether a given property with the name exists
        Parameters:
        jmsMessage - the JMS message
        name - name of the property to test if exists
        Returns:
        true if the property exists, false if not.
        Throws:
        javax.jms.JMSException - can be thrown
      • getProperty

        public static Object getProperty​(javax.jms.Message jmsMessage,
                                         String name)
                                  throws javax.jms.JMSException
        Gets a JMS property
        Parameters:
        jmsMessage - the JMS message
        name - name of the property to get
        Returns:
        the property value, or null if does not exists
        Throws:
        javax.jms.JMSException - can be thrown
      • getSafeLongProperty

        public static Long getSafeLongProperty​(javax.jms.Message jmsMessage,
                                               String name)
        Gets a JMS property in a safe way
        Parameters:
        jmsMessage - the JMS message
        name - name of the property to get
        Returns:
        the property value, or null if does not exists or failure to get the value
      • setProperty

        public static void setProperty​(javax.jms.Message jmsMessage,
                                       String name,
                                       Object value)
                                throws javax.jms.JMSException
        Sets the property on the given JMS message.
        Parameters:
        jmsMessage - the JMS message
        name - name of the property to set
        value - the value
        Throws:
        javax.jms.JMSException - can be thrown
      • setCorrelationId

        public static void setCorrelationId​(javax.jms.Message message,
                                            String correlationId)
        Sets the correlation id on the JMS message.

        Will ignore exception thrown

        Parameters:
        message - the JMS message
        correlationId - the correlation id
      • isQueuePrefix

        public static boolean isQueuePrefix​(String destination)
        Whether the destination name has either queue or temp queue prefix.
        Parameters:
        destination - the destination
        Returns:
        true if queue or temp-queue prefix, false otherwise
      • isTopicPrefix

        public static boolean isTopicPrefix​(String destination)
        Whether the destination name has either topic or temp topic prefix.
        Parameters:
        destination - the destination
        Returns:
        true if topic or temp-topic prefix, false otherwise
      • normalizeDestinationName

        public static String normalizeDestinationName​(String destination)
        Normalizes the destination name.

        This ensures the destination name is correct, and we do not create queues as queue://queue:foo, which was intended as queue://foo.

        Parameters:
        destination - the destination
        Returns:
        the normalized destination
      • normalizeDestinationName

        public static String normalizeDestinationName​(String destination,
                                                      boolean includePrefix)
        Normalizes the destination name.

        This ensures the destination name is correct, and we do not create queues as queue://queue:foo, which was intended as queue://foo.

        Parameters:
        destination - the destination
        includePrefix - whether to include queue://, or topic:// prefix in the normalized destination name
        Returns:
        the normalized destination
      • setJMSReplyTo

        public static void setJMSReplyTo​(javax.jms.Message message,
                                         javax.jms.Destination replyTo)
        Sets the JMSReplyTo on the message.
        Parameters:
        message - the message
        replyTo - the reply to destination
      • getJMSReplyTo

        public static javax.jms.Destination getJMSReplyTo​(javax.jms.Message message)
        Gets the JMSReplyTo from the message.
        Parameters:
        message - the message
        Returns:
        the reply to, can be null
      • getJMSType

        public static String getJMSType​(javax.jms.Message message)
        Gets the JMSType from the message.
        Parameters:
        message - the message
        Returns:
        the type, can be null
      • getStringProperty

        public static String getStringProperty​(javax.jms.Message message,
                                               String propertyName)
        Gets the String Properties from the message.
        Parameters:
        message - the message
        Returns:
        the type, can be null
      • getJMSRedelivered

        public static Boolean getJMSRedelivered​(javax.jms.Message message)
        Gets the JMSRedelivered from the message.
        Parameters:
        message - the message
        Returns:
        true if redelivered, false if not, null if not able to determine
      • getJMSMessageID

        public static String getJMSMessageID​(javax.jms.Message message)
        Gets the JMSMessageID from the message.
        Parameters:
        message - the message
        Returns:
        the JMSMessageID, or null if not able to get
      • getJMSDestination

        public static javax.jms.Destination getJMSDestination​(javax.jms.Message message)
        Gets the JMSDestination from the message.
        Parameters:
        message - the message
        Returns:
        the JMSDestination, or null if not able to get
      • setJMSDeliveryMode

        public static void setJMSDeliveryMode​(org.apache.camel.Exchange exchange,
                                              javax.jms.Message message,
                                              Object deliveryMode)
                                       throws javax.jms.JMSException
        Sets the JMSDeliveryMode on the message.
        Parameters:
        exchange - the exchange
        message - the message
        deliveryMode - the delivery mode, either as a String or integer
        Throws:
        javax.jms.JMSException - is thrown if error setting the delivery mode
      • getJMSCorrelationIDAsBytes

        public static String getJMSCorrelationIDAsBytes​(javax.jms.Message message)
        Gets the JMSCorrelationIDAsBytes from the message.
        Parameters:
        message - the message
        Returns:
        the JMSCorrelationIDAsBytes, or null if not able to get