Class AMQPMessageSupport

java.lang.Object
org.apache.activemq.artemis.protocol.amqp.converter.AMQPMessageSupport

public final class AMQPMessageSupport extends Object
Support class containing constant values and static methods that are used to map to / from AMQP Message types being sent or received.
  • Field Details

    • NON_PERSISTENT

      public static final int NON_PERSISTENT
      See Also:
    • PERSISTENT

      public static final int PERSISTENT
      See Also:
    • MESSAGE_DEFAULT_TIME_TO_LIVE

      public static final long MESSAGE_DEFAULT_TIME_TO_LIVE
      See Also:
    • MESSAGE_DEFAULT_PRIORITY

      public static final int MESSAGE_DEFAULT_PRIORITY
      See Also:
    • HDR_ORIGINAL_ADDRESS_ANNOTATION

      public static SimpleString HDR_ORIGINAL_ADDRESS_ANNOTATION
    • JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME

      public static final String JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME
      See Also:
    • X_OPT_DELIVERY_TIME

      public static final String X_OPT_DELIVERY_TIME
      See Also:
    • X_OPT_DELIVERY_DELAY

      public static final String X_OPT_DELIVERY_DELAY
      See Also:
    • JMS_MSG_TYPE

      public static final org.apache.qpid.proton.amqp.Symbol JMS_MSG_TYPE
      Attribute used to mark the class type of JMS message that a particular message instance represents, used internally by the client.
    • JMS_DELIVERY_TIME

      @Deprecated public static final org.apache.qpid.proton.amqp.Symbol JMS_DELIVERY_TIME
      Deprecated.
      Use the SCHEDULED_DELIVERY_TIME value as this is not JMS specific and will be removed.
      Attribute used to mark the Application defined delivery time assigned to the message
    • SCHEDULED_DELIVERY_TIME

      public static final org.apache.qpid.proton.amqp.Symbol SCHEDULED_DELIVERY_TIME
      Attribute used to mark the Application defined delivery time assigned to the message
    • SCHEDULED_DELIVERY_DELAY

      public static final org.apache.qpid.proton.amqp.Symbol SCHEDULED_DELIVERY_DELAY
      Attribute used to mark the Application defined delivery time assigned to the message
    • ROUTING_TYPE

      public static final org.apache.qpid.proton.amqp.Symbol ROUTING_TYPE
      Attribute used to mark the Application defined delivery time assigned to the message
    • JMS_MESSAGE

      public static final byte JMS_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a generic JMS Message which has no body.
      See Also:
    • JMS_OBJECT_MESSAGE

      public static final byte JMS_OBJECT_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a JMS ObjectMessage which has an Object value serialized in its message body.
      See Also:
    • JMS_MAP_MESSAGE

      public static final byte JMS_MAP_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a JMS MapMessage which has an Map instance serialized in its message body.
      See Also:
    • JMS_BYTES_MESSAGE

      public static final byte JMS_BYTES_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a JMS BytesMessage which has a body that consists of raw bytes.
      See Also:
    • JMS_STREAM_MESSAGE

      public static final byte JMS_STREAM_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a JMS StreamMessage which has a body that is a structured collection of primitives values.
      See Also:
    • JMS_TEXT_MESSAGE

      public static final byte JMS_TEXT_MESSAGE
      Value mapping for JMS_MSG_TYPE which indicates the message is a JMS TextMessage which has a body that contains a UTF-8 encoded String.
      See Also:
    • SERIALIZED_JAVA_OBJECT_CONTENT_TYPE

      public static final org.apache.qpid.proton.amqp.Symbol SERIALIZED_JAVA_OBJECT_CONTENT_TYPE
      Content type used to mark Data sections as containing a serialized java object.
    • JMS_AMQP_PREFIX

      public static final String JMS_AMQP_PREFIX
      See Also:
    • JMS_AMQP_PREFIX_LENGTH

      public static final int JMS_AMQP_PREFIX_LENGTH
    • ORIGINAL_ENCODING

      public static final String ORIGINAL_ENCODING
      See Also:
    • NATIVE

      public static final String NATIVE
      See Also:
    • PROPERTIES

      public static final String PROPERTIES
      See Also:
    • FIRST_ACQUIRER

      public static final String FIRST_ACQUIRER
      See Also:
    • CONTENT_TYPE

      public static final String CONTENT_TYPE
      See Also:
    • CONTENT_ENCODING

      public static final String CONTENT_ENCODING
      See Also:
    • REPLYTO_GROUP_ID

      public static final String REPLYTO_GROUP_ID
      See Also:
    • DURABLE

      public static final String DURABLE
      See Also:
    • PRIORITY

      public static final String PRIORITY
      See Also:
    • DELIVERY_ANNOTATION_PREFIX

      public static final String DELIVERY_ANNOTATION_PREFIX
      See Also:
    • MESSAGE_ANNOTATION_PREFIX

      public static final String MESSAGE_ANNOTATION_PREFIX
      See Also:
    • ENCODED_PREFIX

      public static final String ENCODED_PREFIX
      See Also:
    • JMS_AMQP_HEADER

      public static final String JMS_AMQP_HEADER
      See Also:
    • JMS_AMQP_HEADER_DURABLE

      public static final String JMS_AMQP_HEADER_DURABLE
      See Also:
    • JMS_AMQP_HEADER_PRIORITY

      public static final String JMS_AMQP_HEADER_PRIORITY
      See Also:
    • JMS_AMQP_PROPERTIES

      public static final String JMS_AMQP_PROPERTIES
      See Also:
    • JMS_AMQP_NATIVE

      public static final String JMS_AMQP_NATIVE
      See Also:
    • JMS_AMQP_FIRST_ACQUIRER

      public static final String JMS_AMQP_FIRST_ACQUIRER
      See Also:
    • JMS_AMQP_CONTENT_TYPE

      public static final String JMS_AMQP_CONTENT_TYPE
      See Also:
    • JMS_AMQP_CONTENT_ENCODING

      public static final String JMS_AMQP_CONTENT_ENCODING
      See Also:
    • JMS_AMQP_REPLYTO_GROUP_ID

      public static final String JMS_AMQP_REPLYTO_GROUP_ID
      See Also:
    • JMS_AMQP_DELIVERY_ANNOTATION_PREFIX

      public static final String JMS_AMQP_DELIVERY_ANNOTATION_PREFIX
      See Also:
    • JMS_AMQP_MESSAGE_ANNOTATION_PREFIX

      public static final String JMS_AMQP_MESSAGE_ANNOTATION_PREFIX
      See Also:
    • JMS_AMQP_ENCODED_DELIVERY_ANNOTATION_PREFIX

      public static final String JMS_AMQP_ENCODED_DELIVERY_ANNOTATION_PREFIX
      See Also:
    • JMS_AMQP_ENCODED_MESSAGE_ANNOTATION_PREFIX

      public static final String JMS_AMQP_ENCODED_MESSAGE_ANNOTATION_PREFIX
      See Also:
    • JMS_AMQP_ORIGINAL_ENCODING

      public static final String JMS_AMQP_ORIGINAL_ENCODING
      See Also:
    • EMPTY_BINARY

      public static final org.apache.qpid.proton.amqp.Binary EMPTY_BINARY
    • EMPTY_BODY

      public static final org.apache.qpid.proton.amqp.messaging.Data EMPTY_BODY
    • X_OPT_PREFIX

      public static final String X_OPT_PREFIX
      See Also:
    • AMQ_PROPERTY_PREFIX

      public static final String AMQ_PROPERTY_PREFIX
      See Also:
    • X_OPT_INGRESS_TIME

      public static final String X_OPT_INGRESS_TIME
      See Also:
    • AMQP_UNKNOWN

      public static final short AMQP_UNKNOWN
      See Also:
    • AMQP_NULL

      public static final short AMQP_NULL
      See Also:
    • AMQP_DATA

      public static final short AMQP_DATA
      See Also:
    • AMQP_SEQUENCE

      public static final short AMQP_SEQUENCE
      See Also:
    • AMQP_VALUE_NULL

      public static final short AMQP_VALUE_NULL
      See Also:
    • AMQP_VALUE_STRING

      public static final short AMQP_VALUE_STRING
      See Also:
    • AMQP_VALUE_BINARY

      public static final short AMQP_VALUE_BINARY
      See Also:
    • AMQP_VALUE_MAP

      public static final short AMQP_VALUE_MAP
      See Also:
    • AMQP_VALUE_LIST

      public static final short AMQP_VALUE_LIST
      See Also:
    • JMS_DEST_TYPE_MSG_ANNOTATION

      public static final org.apache.qpid.proton.amqp.Symbol JMS_DEST_TYPE_MSG_ANNOTATION
    • JMS_REPLY_TO_TYPE_MSG_ANNOTATION

      public static final org.apache.qpid.proton.amqp.Symbol JMS_REPLY_TO_TYPE_MSG_ANNOTATION
    • INGRESS_TIME_MSG_ANNOTATION

      public static final org.apache.qpid.proton.amqp.Symbol INGRESS_TIME_MSG_ANNOTATION
    • QUEUE_TYPE

      public static final byte QUEUE_TYPE
      See Also:
    • TOPIC_TYPE

      public static final byte TOPIC_TYPE
      See Also:
    • TEMP_QUEUE_TYPE

      public static final byte TEMP_QUEUE_TYPE
      See Also:
    • TEMP_TOPIC_TYPE

      public static final byte TEMP_TOPIC_TYPE
      See Also:
    • OCTET_STREAM_CONTENT_TYPE

      public static final String OCTET_STREAM_CONTENT_TYPE
      See Also:
    • OCTET_STREAM_CONTENT_TYPE_SYMBOL

      public static final org.apache.qpid.proton.amqp.Symbol OCTET_STREAM_CONTENT_TYPE_SYMBOL
      Content type used to mark Data sections as containing arbitrary bytes.
  • Constructor Details

    • AMQPMessageSupport

      public AMQPMessageSupport()
  • Method Details

    • getSymbol

      public static org.apache.qpid.proton.amqp.Symbol getSymbol(String key)
      Lookup and return the correct Proton Symbol instance based on the given key.
      Parameters:
      key - the String value name of the Symbol to locate.
      Returns:
      the Symbol value that matches the given key
    • getMessageAnnotation

      public static Object getMessageAnnotation(String key, org.apache.qpid.proton.message.Message message)
      Safe way to access message annotations which will check internal structure and either return the annotation if it exists or null if the annotation or any annotations are present.
      Parameters:
      key - the String key to use to lookup an annotation.
      message - the AMQP message object that is being examined.
      Returns:
      the given annotation value or null if not present in the message
    • isContentType

      public static boolean isContentType(String contentType, org.apache.qpid.proton.message.Message message)
      Check whether the content-type field of the properties section (if present) in the given message matches the provided string (where null matches if there is no content type present.
      Parameters:
      contentType - content type string to compare against, or null if none
      message - the AMQP message object that is being examined.
      Returns:
      true if content type matches
    • isContentType

      public static boolean isContentType(String expected, org.apache.qpid.proton.amqp.Symbol actual)
      Check whether the content-type given matches the expect value.
      Parameters:
      expected - content type string to compare against or null if not expected to be set
      actual - the AMQP content type symbol from the Properties section
      Returns:
      true if content type matches
    • getCharsetForTextualContent

      public static Charset getCharsetForTextualContent(String contentType)
      Returns the character set to use, or null if not to treat the message as text.
      Parameters:
      contentType - the contentType of the received message
      Returns:
      the character set to use, or null if not to treat the message as text
    • toAnnotationName

      public static String toAnnotationName(String key)
    • createBytesMessage

      public static CoreBytesMessageWrapper createBytesMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createBytesMessage

      public static CoreBytesMessageWrapper createBytesMessage(long id, byte[] array, int arrayOffset, int length, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createStreamMessage

      public static CoreStreamMessageWrapper createStreamMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createMessage

      public static CoreMessageWrapper createMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createTextMessage

      public static CoreTextMessageWrapper createTextMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createTextMessage

      public static CoreTextMessageWrapper createTextMessage(long id, String text, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createObjectMessage

      public static CoreObjectMessageWrapper createObjectMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createObjectMessage

      public static CoreMessageWrapper createObjectMessage(long id, org.apache.qpid.proton.amqp.Binary serializedForm, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createObjectMessage

      public static CoreMessageWrapper createObjectMessage(long id, byte[] array, int offset, int length, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createMapMessage

      public static CoreMapMessageWrapper createMapMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • createMapMessage

      public static CoreMapMessageWrapper createMapMessage(long id, Map<String,Object> content, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)
    • toAddress

      public static String toAddress(String destination)
    • destinationType

      public static byte destinationType(String destination)
    • destination

      public static String destination(RoutingType destinationType, String address)