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 Summary
Fields Modifier and Type Field Description static StringAMQ_PROPERTY_PREFIXstatic shortAMQP_DATAstatic shortAMQP_NULLstatic shortAMQP_SEQUENCEstatic shortAMQP_UNKNOWNstatic shortAMQP_VALUE_BINARYstatic shortAMQP_VALUE_LISTstatic shortAMQP_VALUE_MAPstatic shortAMQP_VALUE_NULLstatic shortAMQP_VALUE_STRINGstatic StringCONTENT_ENCODINGstatic StringCONTENT_TYPEstatic StringDELIVERY_ANNOTATION_PREFIXstatic StringDURABLEstatic org.apache.qpid.proton.amqp.BinaryEMPTY_BINARYstatic org.apache.qpid.proton.amqp.messaging.DataEMPTY_BODYstatic StringENCODED_PREFIXstatic StringFIRST_ACQUIRERstatic StringFOOTER_PREFIXstatic SimpleStringHDR_ORIGINAL_ADDRESS_ANNOTATIONstatic StringHEADERstatic org.apache.qpid.proton.amqp.SymbolINGRESS_TIME_MSG_ANNOTATIONstatic StringJMS_AMQP_CONTENT_ENCODINGstatic StringJMS_AMQP_CONTENT_TYPEstatic StringJMS_AMQP_DELIVERY_ANNOTATION_PREFIXstatic StringJMS_AMQP_ENCODED_DELIVERY_ANNOTATION_PREFIXstatic StringJMS_AMQP_ENCODED_FOOTER_PREFIXstatic StringJMS_AMQP_ENCODED_MESSAGE_ANNOTATION_PREFIXstatic StringJMS_AMQP_FIRST_ACQUIRERstatic StringJMS_AMQP_FOOTER_PREFIXstatic StringJMS_AMQP_HEADERstatic StringJMS_AMQP_HEADER_DURABLEstatic StringJMS_AMQP_HEADER_PRIORITYstatic StringJMS_AMQP_MESSAGE_ANNOTATION_PREFIXstatic StringJMS_AMQP_NATIVEstatic StringJMS_AMQP_ORIGINAL_ENCODINGstatic StringJMS_AMQP_PREFIXstatic intJMS_AMQP_PREFIX_LENGTHstatic StringJMS_AMQP_PROPERTIESstatic StringJMS_AMQP_REPLYTO_GROUP_IDstatic byteJMS_BYTES_MESSAGEValue mapping for JMS_MSG_TYPE which indicates the message is a JMS BytesMessage which has a body that consists of raw bytes.static org.apache.qpid.proton.amqp.SymbolJMS_DELIVERY_TIMEDeprecated.Use the SCHEDULED_DELIVERY_TIME value as this is not JMS specific and will be removed.static org.apache.qpid.proton.amqp.SymbolJMS_DEST_TYPE_MSG_ANNOTATIONstatic byteJMS_MAP_MESSAGEValue mapping for JMS_MSG_TYPE which indicates the message is a JMS MapMessage which has an Map instance serialized in its message body.static byteJMS_MESSAGEValue mapping for JMS_MSG_TYPE which indicates the message is a generic JMS Message which has no body.static org.apache.qpid.proton.amqp.SymbolJMS_MSG_TYPEAttribute used to mark the class type of JMS message that a particular message instance represents, used internally by the client.static byteJMS_OBJECT_MESSAGEValue mapping for JMS_MSG_TYPE which indicates the message is a JMS ObjectMessage which has an Object value serialized in its message body.static org.apache.qpid.proton.amqp.SymbolJMS_REPLY_TO_TYPE_MSG_ANNOTATIONstatic StringJMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAMEstatic byteJMS_STREAM_MESSAGEValue 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.static byteJMS_TEXT_MESSAGEValue mapping for JMS_MSG_TYPE which indicates the message is a JMS TextMessage which has a body that contains a UTF-8 encoded String.static StringMESSAGE_ANNOTATION_PREFIXstatic intMESSAGE_DEFAULT_PRIORITYstatic longMESSAGE_DEFAULT_TIME_TO_LIVEstatic StringNATIVEstatic intNON_PERSISTENTstatic StringOCTET_STREAM_CONTENT_TYPEstatic org.apache.qpid.proton.amqp.SymbolOCTET_STREAM_CONTENT_TYPE_SYMBOLContent type used to mark Data sections as containing arbitrary bytes.static StringORIGINAL_ENCODINGstatic intPERSISTENTstatic StringPRIORITYstatic StringPROPERTIESstatic byteQUEUE_TYPEstatic StringREPLYTO_GROUP_IDstatic org.apache.qpid.proton.amqp.SymbolROUTING_TYPEAttribute used to mark the Application defined delivery time assigned to the messagestatic org.apache.qpid.proton.amqp.SymbolSCHEDULED_DELIVERY_DELAYAttribute used to mark the Application defined delivery time assigned to the messagestatic org.apache.qpid.proton.amqp.SymbolSCHEDULED_DELIVERY_TIMEAttribute used to mark the Application defined delivery time assigned to the messagestatic org.apache.qpid.proton.amqp.SymbolSERIALIZED_JAVA_OBJECT_CONTENT_TYPEContent type used to mark Data sections as containing a serialized java object.static byteTEMP_QUEUE_TYPEstatic byteTEMP_TOPIC_TYPEstatic byteTOPIC_TYPEstatic StringX_OPT_DELIVERY_DELAYstatic StringX_OPT_DELIVERY_TIMEstatic StringX_OPT_INGRESS_TIMEstatic StringX_OPT_PREFIX
-
Constructor Summary
Constructors Constructor Description AMQPMessageSupport()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static CoreBytesMessageWrappercreateBytesMessage(long id, byte[] array, int arrayOffset, int length, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreBytesMessageWrappercreateBytesMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreMapMessageWrappercreateMapMessage(long id, Map<String,Object> content, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreMapMessageWrappercreateMapMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreMessageWrappercreateMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreMessageWrappercreateObjectMessage(long id, byte[] array, int offset, int length, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreObjectMessageWrappercreateObjectMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreMessageWrappercreateObjectMessage(long id, org.apache.qpid.proton.amqp.Binary serializedForm, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreStreamMessageWrappercreateStreamMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreTextMessageWrappercreateTextMessage(long id, String text, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static CoreTextMessageWrappercreateTextMessage(long id, org.apache.activemq.artemis.core.persistence.CoreMessageObjectPools coreMessageObjectPools)static Stringdestination(RoutingType destinationType, String address)static bytedestinationType(String destination)static CharsetgetCharsetForTextualContent(String contentType)static ObjectgetMessageAnnotation(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.static org.apache.qpid.proton.amqp.SymbolgetSymbol(String key)Lookup and return the correct Proton Symbol instance based on the given key.static booleanisContentType(String expected, org.apache.qpid.proton.amqp.Symbol actual)Check whether the content-type given matches the expect value.static booleanisContentType(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.static StringtoAddress(String destination)static StringtoAnnotationName(String key)
-
-
-
Field Detail
-
NON_PERSISTENT
public static final int NON_PERSISTENT
- See Also:
- Constant Field Values
-
PERSISTENT
public static final int PERSISTENT
- See Also:
- Constant Field Values
-
MESSAGE_DEFAULT_TIME_TO_LIVE
public static final long MESSAGE_DEFAULT_TIME_TO_LIVE
- See Also:
- Constant Field Values
-
MESSAGE_DEFAULT_PRIORITY
public static final int MESSAGE_DEFAULT_PRIORITY
- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
X_OPT_DELIVERY_TIME
public static final String X_OPT_DELIVERY_TIME
- See Also:
- Constant Field Values
-
X_OPT_DELIVERY_DELAY
public static final String X_OPT_DELIVERY_DELAY
- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
JMS_AMQP_PREFIX_LENGTH
public static final int JMS_AMQP_PREFIX_LENGTH
-
ORIGINAL_ENCODING
public static final String ORIGINAL_ENCODING
- See Also:
- Constant Field Values
-
NATIVE
public static final String NATIVE
- See Also:
- Constant Field Values
-
HEADER
public static final String HEADER
- See Also:
- Constant Field Values
-
PROPERTIES
public static final String PROPERTIES
- See Also:
- Constant Field Values
-
FIRST_ACQUIRER
public static final String FIRST_ACQUIRER
- See Also:
- Constant Field Values
-
CONTENT_TYPE
public static final String CONTENT_TYPE
- See Also:
- Constant Field Values
-
CONTENT_ENCODING
public static final String CONTENT_ENCODING
- See Also:
- Constant Field Values
-
REPLYTO_GROUP_ID
public static final String REPLYTO_GROUP_ID
- See Also:
- Constant Field Values
-
DURABLE
public static final String DURABLE
- See Also:
- Constant Field Values
-
PRIORITY
public static final String PRIORITY
- See Also:
- Constant Field Values
-
DELIVERY_ANNOTATION_PREFIX
public static final String DELIVERY_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
MESSAGE_ANNOTATION_PREFIX
public static final String MESSAGE_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
FOOTER_PREFIX
public static final String FOOTER_PREFIX
- See Also:
- Constant Field Values
-
ENCODED_PREFIX
public static final String ENCODED_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_HEADER
public static final String JMS_AMQP_HEADER
- See Also:
- Constant Field Values
-
JMS_AMQP_HEADER_DURABLE
public static final String JMS_AMQP_HEADER_DURABLE
- See Also:
- Constant Field Values
-
JMS_AMQP_HEADER_PRIORITY
public static final String JMS_AMQP_HEADER_PRIORITY
- See Also:
- Constant Field Values
-
JMS_AMQP_PROPERTIES
public static final String JMS_AMQP_PROPERTIES
- See Also:
- Constant Field Values
-
JMS_AMQP_NATIVE
public static final String JMS_AMQP_NATIVE
- See Also:
- Constant Field Values
-
JMS_AMQP_FIRST_ACQUIRER
public static final String JMS_AMQP_FIRST_ACQUIRER
- See Also:
- Constant Field Values
-
JMS_AMQP_CONTENT_TYPE
public static final String JMS_AMQP_CONTENT_TYPE
- See Also:
- Constant Field Values
-
JMS_AMQP_CONTENT_ENCODING
public static final String JMS_AMQP_CONTENT_ENCODING
- See Also:
- Constant Field Values
-
JMS_AMQP_REPLYTO_GROUP_ID
public static final String JMS_AMQP_REPLYTO_GROUP_ID
- See Also:
- Constant Field Values
-
JMS_AMQP_DELIVERY_ANNOTATION_PREFIX
public static final String JMS_AMQP_DELIVERY_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_MESSAGE_ANNOTATION_PREFIX
public static final String JMS_AMQP_MESSAGE_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_FOOTER_PREFIX
public static final String JMS_AMQP_FOOTER_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_ENCODED_DELIVERY_ANNOTATION_PREFIX
public static final String JMS_AMQP_ENCODED_DELIVERY_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_ENCODED_MESSAGE_ANNOTATION_PREFIX
public static final String JMS_AMQP_ENCODED_MESSAGE_ANNOTATION_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_ENCODED_FOOTER_PREFIX
public static final String JMS_AMQP_ENCODED_FOOTER_PREFIX
- See Also:
- Constant Field Values
-
JMS_AMQP_ORIGINAL_ENCODING
public static final String JMS_AMQP_ORIGINAL_ENCODING
- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
AMQ_PROPERTY_PREFIX
public static final String AMQ_PROPERTY_PREFIX
- See Also:
- Constant Field Values
-
X_OPT_INGRESS_TIME
public static final String X_OPT_INGRESS_TIME
- See Also:
- Constant Field Values
-
AMQP_UNKNOWN
public static final short AMQP_UNKNOWN
- See Also:
- Constant Field Values
-
AMQP_NULL
public static final short AMQP_NULL
- See Also:
- Constant Field Values
-
AMQP_DATA
public static final short AMQP_DATA
- See Also:
- Constant Field Values
-
AMQP_SEQUENCE
public static final short AMQP_SEQUENCE
- See Also:
- Constant Field Values
-
AMQP_VALUE_NULL
public static final short AMQP_VALUE_NULL
- See Also:
- Constant Field Values
-
AMQP_VALUE_STRING
public static final short AMQP_VALUE_STRING
- See Also:
- Constant Field Values
-
AMQP_VALUE_BINARY
public static final short AMQP_VALUE_BINARY
- See Also:
- Constant Field Values
-
AMQP_VALUE_MAP
public static final short AMQP_VALUE_MAP
- See Also:
- Constant Field Values
-
AMQP_VALUE_LIST
public static final short AMQP_VALUE_LIST
- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
TOPIC_TYPE
public static final byte TOPIC_TYPE
- See Also:
- Constant Field Values
-
TEMP_QUEUE_TYPE
public static final byte TEMP_QUEUE_TYPE
- See Also:
- Constant Field Values
-
TEMP_TOPIC_TYPE
public static final byte TEMP_TOPIC_TYPE
- See Also:
- Constant Field Values
-
OCTET_STREAM_CONTENT_TYPE
public static final String OCTET_STREAM_CONTENT_TYPE
- See Also:
- Constant Field Values
-
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.
-
-
Method Detail
-
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 nonemessage- 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 setactual- the AMQP content type symbol from the Properties section- Returns:
- true if content type matches
-
getCharsetForTextualContent
public static Charset getCharsetForTextualContent(String contentType)
- Parameters:
contentType- the contentType of the received message- Returns:
- the character set to use, or null if not to treat the message as text
-
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)
-
destinationType
public static byte destinationType(String destination)
-
destination
public static String destination(RoutingType destinationType, String address)
-
-