You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2018/10/16 19:14:16 UTC

[2/2] qpid-jms git commit: QPIDJMS-418 Optimize usage of Symbol types to reduce overhead

QPIDJMS-418 Optimize usage of Symbol types to reduce overhead

The code is currently doing many Symbol.valueOf calls for each message
on send and receive where it should be using cached Symbol values to
avoid the overhead of the Symbol objects cache lookups and string
compares.  Clean up some other ares where we process Symbols to reduce
overhead on send and receive.


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/cbde557d
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/cbde557d
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/cbde557d

Branch: refs/heads/master
Commit: cbde557d22e1d1e861bf83505899a7f9a0c51067
Parents: 21f791a
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Oct 16 15:12:30 2018 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Oct 16 15:12:30 2018 -0400

----------------------------------------------------------------------
 .../qpid/jms/message/JmsMessageIDBuilder.java   |   2 +-
 .../amqp/builders/AmqpConsumerBuilder.java      |   6 +-
 .../amqp/builders/AmqpProducerBuilder.java      |   4 +-
 .../amqp/message/AmqpDestinationHelper.java     |  55 ++---
 .../amqp/message/AmqpJmsMessageFacade.java      |  49 +++--
 .../amqp/message/AmqpMessageIdHelper.java       |  33 ++-
 .../amqp/message/AmqpMessageSupport.java        |  34 +--
 .../BytesMessageIntegrationTest.java            |  26 +--
 .../ForeignMessageIntegrationTest.java          |   7 +-
 .../integration/JMSConsumerIntegrationTest.java |  15 +-
 .../integration/JMSProducerIntegrationTest.java |   3 +-
 .../integration/MapMessageIntegrationTest.java  |   7 +-
 .../jms/integration/MessageIntegrationTest.java |  59 +++---
 ...ultiTransferFrameMessageIntegrationTest.java |   5 +-
 .../ObjectMessageIntegrationTest.java           |  25 ++-
 .../integration/ProducerIntegrationTest.java    |   6 +-
 .../StreamMessageIntegrationTest.java           |   7 +-
 .../provider/amqp/message/AmqpCodecTest.java    |  22 +-
 .../amqp/message/AmqpDestinationHelperTest.java | 206 +++++++++----------
 .../message/AmqpJmsBytesMessageFacadeTest.java  |   5 +-
 .../message/AmqpJmsMapMessageFacadeTest.java    |   4 +-
 .../amqp/message/AmqpJmsMessageFacadeTest.java  |  49 +++--
 .../message/AmqpJmsObjectMessageFacadeTest.java |  17 +-
 .../message/AmqpJmsStreamMessageFacadeTest.java |   4 +-
 .../message/AmqpJmsTextMessageFacadeTest.java   |   5 +-
 .../amqp/message/AmqpMessageIdHelperTest.java   |  46 ++---
 .../amqp/message/AmqpMessageSupportTest.java    |  33 ++-
 .../qpid/jms/util/ContentTypeSupportTest.java   |   7 +-
 28 files changed, 350 insertions(+), 391 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java
index 66d6487..319506b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/message/JmsMessageIDBuilder.java
@@ -35,7 +35,7 @@ public interface JmsMessageIDBuilder {
                     @Override
                     public Object createMessageID(String producerId, long messageSequence) {
                         String messageId = producerId + "-" + messageSequence;
-                        if (!AmqpMessageIdHelper.INSTANCE.hasMessageIdPrefix(messageId)) {
+                        if (!AmqpMessageIdHelper.hasMessageIdPrefix(messageId)) {
                             messageId = AmqpMessageIdHelper.JMS_ID_PREFIX + messageId;
                         }
                         return messageId;

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpConsumerBuilder.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpConsumerBuilder.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpConsumerBuilder.java
index dbaf83f..ae45aca 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpConsumerBuilder.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpConsumerBuilder.java
@@ -71,7 +71,7 @@ public class AmqpConsumerBuilder extends AmqpResourceBuilder<AmqpConsumer, AmqpS
     @Override
     protected Receiver createEndpoint(JmsConsumerInfo resourceInfo) {
         JmsDestination destination = resourceInfo.getDestination();
-        String address = AmqpDestinationHelper.INSTANCE.getDestinationAddress(destination, getParent().getConnection());
+        String address = AmqpDestinationHelper.getDestinationAddress(destination, getParent().getConnection());
 
         Source source = new Source();
         source.setAddress(address);
@@ -124,7 +124,7 @@ public class AmqpConsumerBuilder extends AmqpResourceBuilder<AmqpConsumer, AmqpS
         }
         receiver.setReceiverSettleMode(ReceiverSettleMode.FIRST);
 
-        if(validateSharedSubsLinkCapability) {
+        if (validateSharedSubsLinkCapability) {
             receiver.setDesiredCapabilities(new Symbol[] { AmqpSupport.SHARED_SUBS });
         }
 
@@ -221,7 +221,7 @@ public class AmqpConsumerBuilder extends AmqpResourceBuilder<AmqpConsumer, AmqpS
         // Capabilities
         LinkedList<Symbol> capabilities = new LinkedList<>();
 
-        Symbol typeCapability =  AmqpDestinationHelper.INSTANCE.toTypeCapability(resourceInfo.getDestination());
+        Symbol typeCapability =  AmqpDestinationHelper.toTypeCapability(resourceInfo.getDestination());
         if(typeCapability != null){
             capabilities.add(typeCapability);
         }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
index 9b3496b..f66c20b 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/builders/AmqpProducerBuilder.java
@@ -75,7 +75,7 @@ public class AmqpProducerBuilder extends AmqpResourceBuilder<AmqpProducer, AmqpS
         JmsDestination destination = resourceInfo.getDestination();
         AmqpConnection connection = getParent().getConnection();
 
-        String targetAddress = AmqpDestinationHelper.INSTANCE.getDestinationAddress(destination, connection);
+        String targetAddress = AmqpDestinationHelper.getDestinationAddress(destination, connection);
 
         Symbol[] outcomes = new Symbol[]{ Accepted.DESCRIPTOR_SYMBOL, Rejected.DESCRIPTOR_SYMBOL, Released.DESCRIPTOR_SYMBOL, Modified.DESCRIPTOR_SYMBOL };
         String sourceAddress = resourceInfo.getId().toString();
@@ -86,7 +86,7 @@ public class AmqpProducerBuilder extends AmqpResourceBuilder<AmqpProducer, AmqpS
 
         Target target = new Target();
         target.setAddress(targetAddress);
-        Symbol typeCapability =  AmqpDestinationHelper.INSTANCE.toTypeCapability(destination);
+        Symbol typeCapability =  AmqpDestinationHelper.toTypeCapability(destination);
         if (typeCapability != null) {
             target.setCapabilities(typeCapability);
         }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
index 4eea4cb..d20b789 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
@@ -32,10 +32,9 @@ import org.apache.qpid.proton.amqp.Symbol;
  * destination fields in a Message that's being sent or received.
  */
 public class AmqpDestinationHelper {
-    public static final AmqpDestinationHelper INSTANCE = new AmqpDestinationHelper();
 
-    public static final String JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME = "x-opt-jms-dest";
-    public static final String JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = "x-opt-jms-reply-to";
+    public static final Symbol JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL = Symbol.valueOf("x-opt-jms-dest");
+    public static final Symbol JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL = Symbol.valueOf("x-opt-jms-reply-to");
     public static final byte QUEUE_TYPE = 0x00;
     public static final byte TOPIC_TYPE = 0x01;
     public static final byte TEMP_QUEUE_TYPE = 0x02;
@@ -66,12 +65,12 @@ public class AmqpDestinationHelper {
      *
      * @return a Destination object that describe the original address the message was sent to.
      */
-    public JmsDestination getJmsDestination(AmqpJmsMessageFacade message, JmsDestination consumerDestination) {
+    public static JmsDestination getJmsDestination(AmqpJmsMessageFacade message, JmsDestination consumerDestination) {
         String to = message.getToAddress();
-        byte typeByte = getTypeByte(message, JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+        byte typeByte = getTypeByte(message, JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL);
         if (typeByte == UNKNOWN_TYPE) {
             // Try the legacy string type annotation
-            typeByte = getTypeByte(message, AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            typeByte = getTypeByte(message, AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
         }
 
         String name = stripPrefixIfNecessary(to, message.getConnection(), typeByte, consumerDestination);
@@ -79,12 +78,12 @@ public class AmqpDestinationHelper {
         return createDestination(name, typeByte, consumerDestination, false);
     }
 
-    public JmsDestination getJmsReplyTo(AmqpJmsMessageFacade message, JmsDestination consumerDestination) {
+    public static JmsDestination getJmsReplyTo(AmqpJmsMessageFacade message, JmsDestination consumerDestination) {
         String replyTo = message.getReplyToAddress();
-        byte typeByte = getTypeByte(message, JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+        byte typeByte = getTypeByte(message, JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
         if (typeByte == UNKNOWN_TYPE) {
             // Try the legacy string type annotation
-            typeByte = getTypeByte(message, AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            typeByte = getTypeByte(message, AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
         }
 
         String name = stripPrefixIfNecessary(replyTo, message.getConnection(), typeByte, consumerDestination);
@@ -92,7 +91,7 @@ public class AmqpDestinationHelper {
         return createDestination(name, typeByte, consumerDestination, true);
     }
 
-    private String stripPrefixIfNecessary(String address, AmqpConnection conn, byte typeByte, JmsDestination consumerDestination) {
+    private static String stripPrefixIfNecessary(String address, AmqpConnection conn, byte typeByte, JmsDestination consumerDestination) {
         if (address == null) {
             return null;
         }
@@ -122,7 +121,7 @@ public class AmqpDestinationHelper {
         return address;
     }
 
-    private JmsDestination createDestination(String address, byte typeByte, JmsDestination consumerDestination, boolean useConsumerDestForTypeOnly) {
+    private static JmsDestination createDestination(String address, byte typeByte, JmsDestination consumerDestination, boolean useConsumerDestForTypeOnly) {
         if (address == null) {
             return useConsumerDestForTypeOnly ? null : consumerDestination;
         }
@@ -158,7 +157,7 @@ public class AmqpDestinationHelper {
         return new JmsQueue(address);
     }
 
-    public void setToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
+    public static byte setToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
         String address = getDestinationAddress(destination, message.getConnection());
         byte typeValue = toTypeAnnotation(destination);
 
@@ -166,16 +165,18 @@ public class AmqpDestinationHelper {
 
         // Set or clear the new byte type annotation as appropriate
         if (address == null || typeValue == UNKNOWN_TYPE) {
-            message.removeMessageAnnotation(JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            message.removeMessageAnnotation(JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL);
         } else {
-            message.setMessageAnnotation(JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME, typeValue);
+            message.setMessageAnnotation(JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL, typeValue);
         }
 
         // Always clear the legacy string type annotation
-        message.removeMessageAnnotation(AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+        message.removeMessageAnnotation(AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
+
+        return typeValue;
     }
 
-    public void setReplyToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
+    public static byte setReplyToAddressFromDestination(AmqpJmsMessageFacade message, JmsDestination destination) {
         String replyToAddress = getDestinationAddress(destination, message.getConnection());
         byte typeValue = toTypeAnnotation(destination);
 
@@ -183,16 +184,18 @@ public class AmqpDestinationHelper {
 
         // Set or clear the new byte type annotation as appropriate
         if (replyToAddress == null || typeValue == UNKNOWN_TYPE) {
-            message.removeMessageAnnotation(JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            message.removeMessageAnnotation(JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
         } else {
-            message.setMessageAnnotation(JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, typeValue);
+            message.setMessageAnnotation(JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL, typeValue);
         }
 
         // Always clear the legacy string type annotation
-        message.removeMessageAnnotation(AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+        message.removeMessageAnnotation(AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL);
+
+        return typeValue;
     }
 
-    public String getDestinationAddress(JmsDestination destination, AmqpConnection conn) {
+    public static String getDestinationAddress(JmsDestination destination, AmqpConnection connection) {
         if (destination == null) {
             return null;
         }
@@ -202,14 +205,14 @@ public class AmqpDestinationHelper {
         // Add prefix if necessary
         if (!destination.isTemporary()) {
             if (destination.isQueue()) {
-                String queuePrefix = conn.getQueuePrefix();
+                String queuePrefix = connection.getQueuePrefix();
                 if (queuePrefix != null && !name.startsWith(queuePrefix)) {
                     return queuePrefix + name;
                 }
             }
 
             if (destination.isTopic()) {
-                String topicPrefix = conn.getTopicPrefix();
+                String topicPrefix = connection.getTopicPrefix();
                 if (topicPrefix != null && !name.startsWith(topicPrefix)) {
                     return topicPrefix + name;
                 }
@@ -223,7 +226,7 @@ public class AmqpDestinationHelper {
      * @return the annotation type value, or {@value AmqpDestinationHelper#UNKNOWN_TYPE} if the
      *         supplied destination null or can't be classified
      */
-    private byte toTypeAnnotation(JmsDestination destination) {
+    private static byte toTypeAnnotation(JmsDestination destination) {
         if (destination == null) {
             return UNKNOWN_TYPE;
         }
@@ -245,7 +248,7 @@ public class AmqpDestinationHelper {
         return UNKNOWN_TYPE;
     }
 
-    Set<String> splitAttributesString(String typeString) {
+    static Set<String> splitAttributesString(String typeString) {
         if (typeString == null) {
             return null;
         }
@@ -263,7 +266,7 @@ public class AmqpDestinationHelper {
         return typeSet;
     }
 
-    private byte getTypeByte(AmqpJmsMessageFacade message, String annotationName) {
+    private static byte getTypeByte(AmqpJmsMessageFacade message, Symbol annotationName) {
         Object typeAnnotation = message.getMessageAnnotation(annotationName);
 
         if (typeAnnotation == null) {
@@ -309,7 +312,7 @@ public class AmqpDestinationHelper {
      *
      * @return the type capability, or null if the supplied destination is null or can't be classified
      */
-    public Symbol toTypeCapability(JmsDestination destination) {
+    public static Symbol toTypeCapability(JmsDestination destination) {
         if (destination == null) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
index e842441..154b74e 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
@@ -19,7 +19,6 @@ package org.apache.qpid.jms.provider.amqp.message;
 import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_AMQP_TTL;
 import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_DELIVERY_TIME;
 import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MESSAGE;
-import static org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport.JMS_MSG_TYPE;
 
 import java.nio.ByteBuffer;
 import java.nio.charset.StandardCharsets;
@@ -87,7 +86,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
     public void initialize(AmqpConnection connection) {
         this.connection = connection;
 
-        setMessageAnnotation(JMS_MSG_TYPE, getJmsMsgType());
+        setMessageAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, getJmsMsgType());
         setPersistent(true);
         initializeEmptyBody();
     }
@@ -132,17 +131,17 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
      * value is omitted so we return null here, subclasses should override this to return the
      * correct content type value for their payload.
      *
-     * @return a String value indicating the message content type.
+     * @return a Symbol value indicating the message content type.
      */
-    public String getContentType() {
+    public Symbol getContentType() {
         if (properties != null && properties.getContentType() != null) {
-            return properties.getContentType().toString();
+            return properties.getContentType();
         }
 
         return null;
     }
 
-    public void setContentType(String value) {
+    public void setContentType(Symbol value) {
         if (properties == null) {
             if (value == null) {
                 return;
@@ -150,7 +149,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
             lazyCreateProperties();
         }
 
-        properties.setContentType(Symbol.valueOf(value));
+        properties.setContentType(value);
     }
 
     @Override
@@ -227,7 +226,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
 
         header.setTimeToLive(ttl);
 
-        setMessageAnnotation(JMS_MSG_TYPE, getJmsMsgType());
+        setMessageAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, getJmsMsgType());
     }
 
     @Override
@@ -303,7 +302,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
             underlying = properties.getMessageId();
         }
 
-        return AmqpMessageIdHelper.INSTANCE.toMessageIdString(underlying);
+        return AmqpMessageIdHelper.toMessageIdString(underlying);
     }
 
     @Override
@@ -326,7 +325,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
 
     @Override
     public void setMessageId(String messageId) throws IdConversionException {
-        Object value = AmqpMessageIdHelper.INSTANCE.toIdObject(messageId);
+        Object value = AmqpMessageIdHelper.toIdObject(messageId);
 
         if (properties == null) {
             if (value == null) {
@@ -374,7 +373,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
             return null;
         }
 
-        return AmqpMessageIdHelper.INSTANCE.toCorrelationIdString(properties.getCorrelationId());
+        return AmqpMessageIdHelper.toCorrelationIdString(properties.getCorrelationId());
     }
 
     @Override
@@ -382,9 +381,9 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
         Object idObject = null;
 
         if (correlationId != null) {
-            if (AmqpMessageIdHelper.INSTANCE.hasMessageIdPrefix(correlationId)) {
+            if (AmqpMessageIdHelper.hasMessageIdPrefix(correlationId)) {
                 // JMSMessageID value, process it for possible type conversion
-                idObject = AmqpMessageIdHelper.INSTANCE.toIdObject(correlationId);
+                idObject = AmqpMessageIdHelper.toIdObject(correlationId);
             } else {
                 idObject = correlationId;
             }
@@ -606,7 +605,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
     @Override
     public JmsDestination getDestination() {
         if (destination == null) {
-            this.destination = AmqpDestinationHelper.INSTANCE.getJmsDestination(this, consumerDestination);
+            this.destination = AmqpDestinationHelper.getJmsDestination(this, consumerDestination);
         }
 
         return destination;
@@ -616,13 +615,13 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
     public void setDestination(JmsDestination destination) {
         this.destination = destination;
         lazyCreateMessageAnnotations();
-        AmqpDestinationHelper.INSTANCE.setToAddressFromDestination(this, destination);
+        AmqpDestinationHelper.setToAddressFromDestination(this, destination);
     }
 
     @Override
     public JmsDestination getReplyTo() {
         if (replyTo == null) {
-            replyTo = AmqpDestinationHelper.INSTANCE.getJmsReplyTo(this, consumerDestination);
+            replyTo = AmqpDestinationHelper.getJmsReplyTo(this, consumerDestination);
         }
 
         return replyTo;
@@ -632,7 +631,7 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
     public void setReplyTo(JmsDestination replyTo) {
         this.replyTo = replyTo;
         lazyCreateMessageAnnotations();
-        AmqpDestinationHelper.INSTANCE.setReplyToAddressFromDestination(this, replyTo);
+        AmqpDestinationHelper.setReplyToAddressFromDestination(this, replyTo);
     }
 
     public void setReplyToGroupId(String replyToGroupId) {
@@ -781,12 +780,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
      *
      * @return true if the annotation is present, false in not or annotations not initialized.
      */
-    boolean messageAnnotationExists(String key) {
+    boolean messageAnnotationExists(Symbol key) {
         if (messageAnnotationsMap == null) {
             return false;
         }
 
-        return messageAnnotationsMap.containsKey(AmqpMessageSupport.getSymbol(key));
+        return messageAnnotationsMap.containsKey(key);
     }
 
     /**
@@ -799,12 +798,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
      *
      * @return the value of the annotation if it exists, or null if not set or not accessible.
      */
-    Object getMessageAnnotation(String key) {
+    Object getMessageAnnotation(Symbol key) {
         if (messageAnnotationsMap == null) {
             return null;
         }
 
-        return messageAnnotationsMap.get(AmqpMessageSupport.getSymbol(key));
+        return messageAnnotationsMap.get(key);
     }
 
     /**
@@ -815,12 +814,12 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
      * @param key
      *        the annotation key that is to be removed from the current set.
      */
-    void removeMessageAnnotation(String key) {
+    void removeMessageAnnotation(Symbol key) {
         if (messageAnnotationsMap == null) {
             return;
         }
 
-        messageAnnotationsMap.remove(AmqpMessageSupport.getSymbol(key));
+        messageAnnotationsMap.remove(key);
     }
 
     /**
@@ -832,9 +831,9 @@ public class AmqpJmsMessageFacade implements JmsMessageFacade {
      * @param value
      *        The new value to set in the annotations of this message.
      */
-    void setMessageAnnotation(String key, Object value) {
+    void setMessageAnnotation(Symbol key, Object value) {
         lazyCreateMessageAnnotations();
-        messageAnnotationsMap.put(AmqpMessageSupport.getSymbol(key), value);
+        messageAnnotationsMap.put(key, value);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageIdHelper.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageIdHelper.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageIdHelper.java
index 3c8d67a..5090ce4 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageIdHelper.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageIdHelper.java
@@ -49,7 +49,6 @@ import org.apache.qpid.proton.amqp.UnsignedLong;
  *
  */
 public class AmqpMessageIdHelper {
-    public static final AmqpMessageIdHelper INSTANCE = new AmqpMessageIdHelper();
 
     public static final String AMQP_STRING_PREFIX = "AMQP_STRING:";
     public static final String AMQP_UUID_PREFIX = "AMQP_UUID:";
@@ -73,7 +72,7 @@ public class AmqpMessageIdHelper {
      * @param string the string to check
      * @return true if and only id the string begins with "ID:"
      */
-    public boolean hasMessageIdPrefix(String string) {
+    public static boolean hasMessageIdPrefix(String string) {
         if (string == null) {
             return false;
         }
@@ -81,7 +80,7 @@ public class AmqpMessageIdHelper {
         return string.startsWith(JMS_ID_PREFIX);
     }
 
-    public String toMessageIdString(Object idObject) {
+    public static String toMessageIdString(Object idObject) {
         if (idObject instanceof String) {
             final String stringId = (String) idObject;
 
@@ -105,7 +104,7 @@ public class AmqpMessageIdHelper {
         }
     }
 
-    public String toCorrelationIdString(Object idObject) {
+    public static String toCorrelationIdString(Object idObject) {
 
         if (idObject instanceof String) {
             final String stringId = (String) idObject;
@@ -138,7 +137,7 @@ public class AmqpMessageIdHelper {
      * @param idObject the object to process
      * @return string to be used for the actual JMS ID.
      */
-    private String convertToIdString(Object idObject) {
+    private static String convertToIdString(Object idObject) {
         if (idObject == null) {
             return null;
         }
@@ -161,7 +160,7 @@ public class AmqpMessageIdHelper {
         }
     }
 
-    private boolean hasTypeEncodingPrefix(String stringId, int offset) {
+    private static boolean hasTypeEncodingPrefix(String stringId, int offset) {
         if(!stringId.startsWith(AMQP_PREFIX, offset)){
             return false;
         }
@@ -173,23 +172,23 @@ public class AmqpMessageIdHelper {
                                  hasAmqpNoPrefix(stringId, offset);
     }
 
-    private boolean hasAmqpStringPrefix(String stringId, int offset) {
+    private static boolean hasAmqpStringPrefix(String stringId, int offset) {
         return stringId.startsWith(AMQP_STRING_PREFIX, offset);
     }
 
-    private boolean hasAmqpUlongPrefix(String stringId, int offset) {
+    private static boolean hasAmqpUlongPrefix(String stringId, int offset) {
         return stringId.startsWith(AMQP_ULONG_PREFIX, offset);
     }
 
-    private boolean hasAmqpUuidPrefix(String stringId, int offset) {
+    private static boolean hasAmqpUuidPrefix(String stringId, int offset) {
         return stringId.startsWith(AMQP_UUID_PREFIX, offset);
     }
 
-    private boolean hasAmqpBinaryPrefix(String stringId, int offset) {
+    private static boolean hasAmqpBinaryPrefix(String stringId, int offset) {
         return stringId.startsWith(AMQP_BINARY_PREFIX, offset);
     }
 
-    private boolean hasAmqpNoPrefix(String stringId, int offset) {
+    private static boolean hasAmqpNoPrefix(String stringId, int offset) {
         return stringId.startsWith(AMQP_NO_PREFIX, offset);
     }
 
@@ -199,14 +198,14 @@ public class AmqpMessageIdHelper {
      *
      * @param origId the object to be converted
      * @return the amqp messageId style object
-     * @throws IdConversionException if the provided baseId String indicates an encoded type but can't be converted to that type. 
+     * @throws IdConversionException if the provided baseId String indicates an encoded type but can't be converted to that type.
      */
-    public Object toIdObject(final String origId) throws IdConversionException {
+    public static Object toIdObject(final String origId) throws IdConversionException {
         if (origId == null) {
             return null;
         }
 
-        if(!AmqpMessageIdHelper.INSTANCE.hasMessageIdPrefix(origId)) {
+        if (!AmqpMessageIdHelper.hasMessageIdPrefix(origId)) {
             // We have a string without any "ID:" prefix, it is an
             // application-specific String, use it as-is.
             return origId;
@@ -249,7 +248,7 @@ public class AmqpMessageIdHelper {
      * @return a byte array containing the binary representation
      * @throws IllegalArgumentException if the provided String is a non-even length or contains non-hex characters
      */
-    public byte[] convertHexStringToBinary(String hexString) throws IllegalArgumentException {
+    public static  byte[] convertHexStringToBinary(String hexString) throws IllegalArgumentException {
         int length = hexString.length();
 
         // As each byte needs two characters in the hex encoding, the string must be an even length.
@@ -272,7 +271,7 @@ public class AmqpMessageIdHelper {
         return binary;
     }
 
-    private int hexCharToInt(char ch, String orig) throws IllegalArgumentException {
+    private static  int hexCharToInt(char ch, String orig) throws IllegalArgumentException {
         if (ch >= '0' && ch <= '9') {
             // subtract '0' to get difference in position as an int
             return ch - '0';
@@ -298,7 +297,7 @@ public class AmqpMessageIdHelper {
      * @param bytes binary to convert
      * @return a String containing a hex representation of the bytes
      */
-    public String convertBinaryToHexString(byte[] bytes) {
+    public static String convertBinaryToHexString(byte[] bytes) {
         // Each byte is represented as 2 chars
         StringBuilder builder = new StringBuilder(bytes.length * 2);
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
index 3303628..f448e72 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpMessageSupport.java
@@ -36,12 +36,12 @@ public final class AmqpMessageSupport {
      * Attribute used to mark the class type of JMS message that a particular message
      * instance represents, used internally by the client.
      */
-    public static final String JMS_MSG_TYPE = "x-opt-jms-msg-type";
+    public static final Symbol JMS_MSG_TYPE = Symbol.valueOf("x-opt-jms-msg-type");
 
     /**
      * Attribute used to mark the Application defined delivery time assigned to the message
      */
-    public static final String JMS_DELIVERY_TIME = "x-opt-delivery-time";
+    public static final Symbol JMS_DELIVERY_TIME = Symbol.valueOf("x-opt-delivery-time");
 
     /**
      * Value mapping for JMS_MSG_TYPE which indicates the message is a generic JMS Message
@@ -86,48 +86,36 @@ public final class AmqpMessageSupport {
     /**
      * Content type used to mark Data sections as containing a serialized java object.
      */
-    public static final String SERIALIZED_JAVA_OBJECT_CONTENT_TYPE = "application/x-java-serialized-object";
+    public static final Symbol SERIALIZED_JAVA_OBJECT_CONTENT_TYPE = Symbol.valueOf("application/x-java-serialized-object");
 
     /**
      * Content type used to mark Data sections as containing arbitrary bytes.
      */
-    public static final String OCTET_STREAM_CONTENT_TYPE = "application/octet-stream";
+    public static final Symbol OCTET_STREAM_CONTENT_TYPE = Symbol.valueOf("application/octet-stream");
 
     // For support of old string destination type annotations
-    public static final String LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = "x-opt-to-type";
-    public static final String LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = "x-opt-reply-type";
+    public static final Symbol LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL = Symbol.valueOf("x-opt-to-type");
+    public static final Symbol LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL = Symbol.valueOf("x-opt-reply-type");
     public static final String LEGACY_QUEUE_ATTRIBUTE = "queue";
     public static final String LEGACY_TOPIC_ATTRIBUTE = "topic";
     public static final String LEGACY_TEMPORARY_ATTRIBUTE = "temporary";
 
     /**
-     * Lookup and return the correct Proton Symbol instance based on the given key.
-     *
-     * @param key
-     *        the String value name of the Symbol to locate.
-     *
-     * @return the Symbol value that matches the given key.
-     */
-    public static Symbol getSymbol(String key) {
-        return Symbol.valueOf(key);
-    }
-
-    /**
      * 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.
      *
      * @param key
-     *        the String key to use to lookup an annotation.
+     *        the Symbol key to use to lookup an annotation.
      * @param messageAnnotations
      *        the AMQP message annotations object that is being examined.
      *
      * @return the given annotation value or null if not present in the message.
      */
-    public static Object getMessageAnnotation(String key, MessageAnnotations messageAnnotations) {
+    public static Object getMessageAnnotation(Symbol key, MessageAnnotations messageAnnotations) {
         if (messageAnnotations != null && messageAnnotations.getValue() != null) {
             Map<Symbol, Object> annotations = messageAnnotations.getValue();
-            return annotations.get(AmqpMessageSupport.getSymbol(key));
+            return annotations.get(key);
         }
 
         return null;
@@ -145,13 +133,13 @@ public final class AmqpMessageSupport {
      *
      * @return true if content type matches
      */
-    public static boolean isContentType(String contentType, Symbol messageContentType) {
+    public static boolean isContentType(Symbol contentType, Symbol messageContentType) {
         if (contentType == null) {
             return messageContentType == null;
         } else if (messageContentType == null) {
             return false;
         } else {
-            return contentType.equals(messageContentType.toString());
+            return contentType.equals(messageContentType);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/BytesMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/BytesMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/BytesMessageIntegrationTest.java
index 3ba96c0..c69c65a 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/BytesMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/BytesMessageIntegrationTest.java
@@ -79,9 +79,9 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
-            propertiesMatcher.withContentType(equalTo(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE)));
+            propertiesMatcher.withContentType(equalTo(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
             messageMatcher.setMessageAnnotationsMatcher(msgAnnotationsMatcher);
@@ -114,12 +114,12 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
 
     @Test(timeout = 20000)
     public void testReceiveBasicBytesMessageUsingDataSectionWithContentTypeEmptyNoTypeAnnotation() throws Exception {
-        doReceiveBasicBytesMessageUsingDataSectionTestImpl("", false);
+        doReceiveBasicBytesMessageUsingDataSectionTestImpl(Symbol.valueOf(""), false);
     }
 
     @Test(timeout = 20000)
     public void testReceiveBasicBytesMessageUsingDataSectionWithContentTypeUnknownNoTypeAnnotation() throws Exception {
-        doReceiveBasicBytesMessageUsingDataSectionTestImpl("type/unknown", false);
+        doReceiveBasicBytesMessageUsingDataSectionTestImpl(Symbol.valueOf("type/unknown"), false);
     }
 
     @Test(timeout = 20000)
@@ -127,7 +127,7 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
         doReceiveBasicBytesMessageUsingDataSectionTestImpl(null, false);
     }
 
-    private void doReceiveBasicBytesMessageUsingDataSectionTestImpl(String contentType, boolean typeAnnotation) throws JMSException, InterruptedException, Exception, IOException {
+    private void doReceiveBasicBytesMessageUsingDataSectionTestImpl(Symbol contentType, boolean typeAnnotation) throws JMSException, InterruptedException, Exception, IOException {
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
             Connection connection = testFixture.establishConnecton(testPeer);
             connection.start();
@@ -138,12 +138,12 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(contentType));
+            properties.setContentType(contentType);
 
             MessageAnnotationsDescribedType msgAnnotations = null;
             if (typeAnnotation) {
                 msgAnnotations = new MessageAnnotationsDescribedType();
-                msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+                msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
             }
 
             final byte[] expectedContent = "expectedContent".getBytes();
@@ -196,11 +196,11 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
             // Prepare an AMQP message for the test peer to send, containing the content type and
             // a data body section populated with expected bytes for use as a JMS BytesMessage
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            Symbol contentType = Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE);
+            Symbol contentType = AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE;
             properties.setContentType(contentType);
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
 
             boolean myBool = true;
             byte myByte = 4;
@@ -298,11 +298,11 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE);
 
             MessageAnnotationsDescribedType msgAnnotations = null;
             msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
 
             final byte[] expectedContent = "expectedContent".getBytes();
             DescribedType dataContent = new DataDescribedType(new Binary(expectedContent));
@@ -439,9 +439,9 @@ public class BytesMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true);
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true);
-            propsMatcher.withContentType(equalTo(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE)));
+            propsMatcher.withContentType(equalTo(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
             messageMatcher.setMessageAnnotationsMatcher(msgAnnotationsMatcher);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ForeignMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ForeignMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ForeignMessageIntegrationTest.java
index 61dee9f..d861297 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ForeignMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ForeignMessageIntegrationTest.java
@@ -70,9 +70,9 @@ public class ForeignMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_BYTES_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
-            propertiesMatcher.withContentType(equalTo(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE)));
+            propertiesMatcher.withContentType(equalTo(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
             messageMatcher.setMessageAnnotationsMatcher(msgAnnotationsMatcher);
@@ -206,8 +206,7 @@ public class ForeignMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_DELIVERY_TIME);
-            msgAnnotationsMatcher.withEntry(annotationKey, inRange);
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_DELIVERY_TIME, inRange);
 
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSConsumerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSConsumerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSConsumerIntegrationTest.java
index 8b09870..5781a19 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSConsumerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSConsumerIntegrationTest.java
@@ -51,7 +51,6 @@ import org.apache.qpid.jms.test.testpeer.describedtypes.sections.MessageAnnotati
 import org.apache.qpid.jms.test.testpeer.describedtypes.sections.PropertiesDescribedType;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.DescribedType;
-import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedInteger;
 import org.junit.Test;
 import org.slf4j.Logger;
@@ -305,7 +304,7 @@ public class JMSConsumerIntegrationTest extends QpidJmsTestCase {
             map.put(myStringKey, myString);
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_MAP_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_MAP_MESSAGE);
 
             DescribedType amqpValueSectionContent = new AmqpValueDescribedType(map);
 
@@ -381,7 +380,7 @@ public class JMSConsumerIntegrationTest extends QpidJmsTestCase {
             Queue queue = context.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE);
 
             String expectedContent = "expectedContent";
 
@@ -393,7 +392,7 @@ public class JMSConsumerIntegrationTest extends QpidJmsTestCase {
             byte[] bytes = baos.toByteArray();
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_OBJECT_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_OBJECT_MESSAGE);
 
             DescribedType dataContent = new DataDescribedType(new Binary(bytes));
 
@@ -425,11 +424,11 @@ public class JMSConsumerIntegrationTest extends QpidJmsTestCase {
             Queue queue = context.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE);
 
             MessageAnnotationsDescribedType msgAnnotations = null;
             msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
 
             final byte[] expectedContent = "expectedContent".getBytes();
             DescribedType dataContent = new DataDescribedType(new Binary(expectedContent));
@@ -572,11 +571,11 @@ public class JMSConsumerIntegrationTest extends QpidJmsTestCase {
             Queue queue = context.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE);
 
             MessageAnnotationsDescribedType msgAnnotations = null;
             msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
 
             final byte[] expectedContent = "expectedContent".getBytes();
             DescribedType dataContent = new DataDescribedType(new Binary(expectedContent));

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSProducerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSProducerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSProducerIntegrationTest.java
index 1b14765..6ac880f 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSProducerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/JMSProducerIntegrationTest.java
@@ -31,7 +31,6 @@ import javax.jms.Queue;
 import javax.jms.Topic;
 
 import org.apache.qpid.jms.provider.amqp.message.AmqpDestinationHelper;
-import org.apache.qpid.jms.provider.amqp.message.AmqpMessageSupport;
 import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.jms.test.testpeer.TestAmqpPeer;
 import org.apache.qpid.jms.test.testpeer.matchers.TargetMatcher;
@@ -89,7 +88,7 @@ public class JMSProducerIntegrationTest extends QpidJmsTestCase {
 
             // Verify sent message contains expected destination address and dest type annotation
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            Symbol annotationKey = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL;
             msgAnnotationsMatcher.withEntry(annotationKey, equalTo(AmqpDestinationHelper.TOPIC_TYPE));
 
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true).withTo(equalTo(topicName));

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MapMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MapMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MapMessageIntegrationTest.java
index 49ef18a..0602e46 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MapMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MapMessageIntegrationTest.java
@@ -55,7 +55,6 @@ import org.apache.qpid.jms.test.testpeer.matchers.sections.TransferPayloadCompos
 import org.apache.qpid.jms.test.testpeer.matchers.types.EncodedAmqpValueMatcher;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.DescribedType;
-import org.apache.qpid.proton.amqp.Symbol;
 import org.junit.Test;
 
 public class MapMessageIntegrationTest extends QpidJmsTestCase {
@@ -120,7 +119,7 @@ public class MapMessageIntegrationTest extends QpidJmsTestCase {
             map.put(myNullStringKey, null);
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_MAP_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_MAP_MESSAGE);
 
             DescribedType amqpValueSectionContent = new AmqpValueDescribedType(map);
 
@@ -242,7 +241,7 @@ public class MapMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_MAP_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_MAP_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
@@ -302,7 +301,7 @@ public class MapMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_MAP_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_MAP_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
index 7560a24..58b21e1 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
@@ -514,9 +514,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "myReplyTopic";
         String destAddress = destPrefix + destName;
         String replyAddress = destPrefix + replyName;
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.TOPIC_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.TOPIC_TYPE;
 
         doReceivedMessageOnConnectionWithPrefixTestImpl(destType, destPrefix, destName, replyName,
@@ -563,9 +563,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "myReplyQueue";
         String destAddress = destPrefix + destName;
         String replyAddress = destPrefix + replyName;
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.QUEUE_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.QUEUE_TYPE;
 
         doReceivedMessageOnConnectionWithPrefixTestImpl(destType, destPrefix, destName, replyName,
@@ -612,9 +612,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "temp-queue://myReplyTempQueue";
         String destAddress = destName; // We won't manipulate the temporary addresses generated by the broker
         String replyAddress = replyName; // We won't manipulate the temporary addresses generated by the broker
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.TEMP_QUEUE_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.TEMP_QUEUE_TYPE;
 
         doReceivedMessageOnConnectionWithPrefixTestImpl(destType, destPrefix, destName, replyName,
@@ -636,9 +636,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "temp-topic://myReplyTempTopic";
         String destAddress = destName; // We won't manipulate the temporary addresses generated by the broker
         String replyAddress = replyName; // We won't manipulate the temporary addresses generated by the broker
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.TEMP_TOPIC_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.TEMP_TOPIC_TYPE;
 
         doReceivedMessageOnConnectionWithPrefixTestImpl(destType, destPrefix, destName, replyName,
@@ -876,8 +876,8 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true);
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME), equalTo(destTypeAnnotationValue));
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME), equalTo(destTypeAnnotationValue));
+            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString()), equalTo(destTypeAnnotationValue));
+            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString()), equalTo(destTypeAnnotationValue));
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true);
             propsMatcher.withTo(equalTo(destAddress));
             propsMatcher.withReplyTo(equalTo(destAddress));
@@ -917,9 +917,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "myReplyTopic";
         String destAddress = destPrefix + destName;
         String replyAddress = destPrefix + replyName;
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.TOPIC_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.TOPIC_TYPE;
 
         doReceivedMessageOnConnectionWithBrokerDefinedPrefixPropertiesTestImpl(destType, destPrefix, destName, replyName,
@@ -941,9 +941,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         String replyName = "myReplyQueue";
         String destAddress = destPrefix + destName;
         String replyAddress = destPrefix + replyName;
-        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String annotationName = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte annotationValue = AmqpDestinationHelper.QUEUE_TYPE;
-        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME;
+        String replyAnnotationName = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString();
         Byte replyAnnotationValue = AmqpDestinationHelper.QUEUE_TYPE;
 
         doReceivedMessageOnConnectionWithBrokerDefinedPrefixPropertiesTestImpl(destType, destPrefix, destName, replyName,
@@ -1113,8 +1113,8 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true);
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME), equalTo(destTypeAnnotationValue));
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME), equalTo(destTypeAnnotationValue));
+            msgAnnotationsMatcher.withEntry(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL, equalTo(destTypeAnnotationValue));
+            msgAnnotationsMatcher.withEntry(AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL, equalTo(destTypeAnnotationValue));
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true);
             propsMatcher.withTo(equalTo(destAddress));
             propsMatcher.withReplyTo(equalTo(destAddress));
@@ -1144,8 +1144,8 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
     /**
      * Tests that lack of any destination type annotation value (via either
-     * {@link AmqpDestinationHelper#JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME}
-     * or {@link AmqpMessageSupport#LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME}) set
+     * {@link AmqpDestinationHelper#JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL}
+     * or {@link AmqpMessageSupport#LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL}) set
      * on a message to indicate type of its 'reply-to' address results in it
      * being classed as the same type as the consumer destination.
      *
@@ -1194,7 +1194,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
     // --- byte destination type annotation values --- //
 
     /**
-     * Tests that the {@link AmqpDestinationHelper#JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME} is set as a byte on
+     * Tests that the {@link AmqpDestinationHelper#JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL} is set as a byte on
      * a sent message to indicate its 'to' address represents a Topic JMSDestination.
      *
      * @throws Exception if an error occurs during the test.
@@ -1211,7 +1211,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            Symbol annotationKey = AmqpDestinationHelper.JMS_DEST_TYPE_MSG_ANNOTATION_SYMBOL;
             msgAnnotationsMatcher.withEntry(annotationKey, equalTo(AmqpDestinationHelper.TOPIC_TYPE));
 
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true).withTo(equalTo(topicName));
@@ -1236,7 +1236,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
     }
 
     /**
-     * Tests that the {@link AmqpDestinationHelper#JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME} is set as a byte on
+     * Tests that the {@link AmqpDestinationHelper#JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL} is set as a byte on
      * a sent message to indicate its 'reply-to' address represents a Topic JMSDestination.
      *
      * @throws Exception if an error occurs during the test.
@@ -1255,7 +1255,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
+            Symbol annotationKey = AmqpDestinationHelper.JMS_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL;
             msgAnnotationsMatcher.withEntry(annotationKey, equalTo(AmqpDestinationHelper.TOPIC_TYPE));
 
             MessagePropertiesSectionMatcher propsMatcher = new MessagePropertiesSectionMatcher(true).withReplyTo(equalTo(replyTopicName));
@@ -1285,7 +1285,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
     // --- old string destination type annotation values --- //
 
     /**
-     * Tests that the {@link AmqpMessageSupport#LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME} set on a message to
+     * Tests that the {@link AmqpMessageSupport#LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL} set on a message to
      * indicate its 'to' address represents a Topic results in the JMSDestination object being a
      * Topic. Ensure the consumers destination is not used by consuming from a Queue.
      *
@@ -1303,7 +1303,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
             Queue queue = session.createQueue("myQueue");
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, AmqpMessageSupport.LEGACY_TOPIC_ATTRIBUTE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.LEGACY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString(), AmqpMessageSupport.LEGACY_TOPIC_ATTRIBUTE);
 
             PropertiesDescribedType props = new PropertiesDescribedType();
             String myTopicAddress = "myTopicAddress";
@@ -1334,7 +1334,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
     }
 
     /**
-     * Tests that the {@link AmqpMessageSupport#LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME} set on a message to
+     * Tests that the {@link AmqpMessageSupport#LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL} set on a message to
      * indicate its 'reply-to' address represents a Topic results in the JMSReplyTo object being a
      * Topic. Ensure the consumers destination is not used by consuming from a Queue.
      *
@@ -1352,7 +1352,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
             Queue queue = session.createQueue("myQueue");
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME, AmqpMessageSupport.LEGACY_TOPIC_ATTRIBUTE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.LEGACY_REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL.toString(), AmqpMessageSupport.LEGACY_TOPIC_ATTRIBUTE);
 
             PropertiesDescribedType props = new PropertiesDescribedType();
             String myTopicAddress = "myTopicAddress";
@@ -2281,8 +2281,7 @@ public class MessageIntegrationTest extends QpidJmsTestCase
         doReceivedMessageDeliveryTimeTestImpl(false);
     }
 
-    private void doReceivedMessageDeliveryTimeTestImpl(boolean setDeliveryTimeAnnotation)
-            throws JMSException, InterruptedException, Exception, IOException {
+    private void doReceivedMessageDeliveryTimeTestImpl(boolean setDeliveryTimeAnnotation) throws JMSException, InterruptedException, Exception, IOException {
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
             Connection connection = testFixture.establishConnecton(testPeer);
             connection.start();
@@ -2296,9 +2295,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
             final long deliveryTime = creationTime + 13526;
 
             MessageAnnotationsDescribedType msgAnnotations = null;
-            if(setDeliveryTimeAnnotation) {
+            if (setDeliveryTimeAnnotation) {
                 msgAnnotations = new MessageAnnotationsDescribedType();
-                msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_DELIVERY_TIME, deliveryTime);
+                msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_DELIVERY_TIME.toString(), deliveryTime);
             }
 
             PropertiesDescribedType props = new PropertiesDescribedType();

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MultiTransferFrameMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MultiTransferFrameMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MultiTransferFrameMessageIntegrationTest.java
index c53e14f..774d075 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MultiTransferFrameMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MultiTransferFrameMessageIntegrationTest.java
@@ -42,7 +42,6 @@ import org.apache.qpid.jms.test.testpeer.describedtypes.sections.MessageAnnotati
 import org.apache.qpid.jms.test.testpeer.describedtypes.sections.PropertiesDescribedType;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.DescribedType;
-import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedInteger;
 import org.hamcrest.Matchers;
 import org.junit.Test;
@@ -74,10 +73,10 @@ public class MultiTransferFrameMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.OCTET_STREAM_CONTENT_TYPE);
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_BYTES_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_BYTES_MESSAGE);
 
             Random rand = new Random(System.currentTimeMillis());
             int payloadStartPoint = rand.nextInt(6);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ObjectMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ObjectMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ObjectMessageIntegrationTest.java
index f06f8b2..467f4da 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ObjectMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ObjectMessageIntegrationTest.java
@@ -65,7 +65,6 @@ import org.apache.qpid.jms.test.testpeer.matchers.types.EncodedDataMatcher;
 import org.apache.qpid.jms.util.SimplePojo;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.DescribedType;
-import org.apache.qpid.proton.amqp.Symbol;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -112,9 +111,9 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
-            propertiesMatcher.withContentType(equalTo(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE)));
+            propertiesMatcher.withContentType(equalTo(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
             messageMatcher.setMessageAnnotationsMatcher(msgAnnotationsMatcher);
@@ -179,7 +178,7 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE);
 
             String expectedContent = "expectedContent";
 
@@ -191,7 +190,7 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
             byte[] bytes = baos.toByteArray();
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_OBJECT_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_OBJECT_MESSAGE);
 
             DescribedType dataContent = new DataDescribedType(new Binary(bytes));
 
@@ -244,9 +243,9 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_OBJECT_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_OBJECT_MESSAGE);
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE);
 
             String expectedContent = "expectedContent";
 
@@ -275,9 +274,9 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
-            propertiesMatcher.withContentType(equalTo(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE)));
+            propertiesMatcher.withContentType(equalTo(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
             messageMatcher.setMessageAnnotationsMatcher(msgAnnotationsMatcher);
@@ -373,9 +372,9 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_OBJECT_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_OBJECT_MESSAGE);
             PropertiesDescribedType properties = new PropertiesDescribedType();
-            properties.setContentType(Symbol.valueOf(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE));
+            properties.setContentType(AmqpMessageSupport.SERIALIZED_JAVA_OBJECT_CONTENT_TYPE);
 
             SimplePojo expectedContent = new SimplePojo(UUID.randomUUID());
 
@@ -442,7 +441,7 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_OBJECT_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
             propertiesMatcher.withContentType(nullValue());//check there is no content-type
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
@@ -493,7 +492,7 @@ public class ObjectMessageIntegrationTest extends QpidJmsTestCase {
             Queue queue = session.createQueue("myQueue");
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_OBJECT_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_OBJECT_MESSAGE);
 
             HashMap<String,String> map = new HashMap<String,String>();
             map.put("key", "myObjectString");

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
index ce484ec..0e52d67 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
@@ -2006,8 +2006,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_DELIVERY_TIME);
-            msgAnnotationsMatcher.withEntry(annotationKey, inRange);
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_DELIVERY_TIME, inRange);
 
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
@@ -2062,8 +2061,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            Symbol annotationKey = AmqpMessageSupport.getSymbol(AmqpMessageSupport.JMS_DELIVERY_TIME);
-            msgAnnotationsMatcher.withEntry(annotationKey, notNullValue());
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_DELIVERY_TIME, notNullValue());
 
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/cbde557d/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/StreamMessageIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/StreamMessageIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/StreamMessageIntegrationTest.java
index 34d4ab2..1e082a9 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/StreamMessageIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/StreamMessageIntegrationTest.java
@@ -54,7 +54,6 @@ import org.apache.qpid.jms.test.testpeer.matchers.sections.TransferPayloadCompos
 import org.apache.qpid.jms.test.testpeer.matchers.types.EncodedAmqpSequenceMatcher;
 import org.apache.qpid.proton.amqp.Binary;
 import org.apache.qpid.proton.amqp.DescribedType;
-import org.apache.qpid.proton.amqp.Symbol;
 import org.junit.Test;
 
 public class StreamMessageIntegrationTest extends QpidJmsTestCase {
@@ -105,7 +104,7 @@ public class StreamMessageIntegrationTest extends QpidJmsTestCase {
             list.add(myString);
 
             MessageAnnotationsDescribedType msgAnnotations = new MessageAnnotationsDescribedType();
-            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE, AmqpMessageSupport.JMS_STREAM_MESSAGE);
+            msgAnnotations.setSymbolKeyedAnnotation(AmqpMessageSupport.JMS_MSG_TYPE.toString(), AmqpMessageSupport.JMS_STREAM_MESSAGE);
 
             DescribedType amqpValueSectionContent = new AmqpValueDescribedType(list);
 
@@ -230,7 +229,7 @@ public class StreamMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_STREAM_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_STREAM_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);
@@ -297,7 +296,7 @@ public class StreamMessageIntegrationTest extends QpidJmsTestCase {
 
             MessageHeaderSectionMatcher headersMatcher = new MessageHeaderSectionMatcher(true).withDurable(equalTo(true));
             MessageAnnotationsSectionMatcher msgAnnotationsMatcher = new MessageAnnotationsSectionMatcher(true);
-            msgAnnotationsMatcher.withEntry(Symbol.valueOf(AmqpMessageSupport.JMS_MSG_TYPE), equalTo(AmqpMessageSupport.JMS_STREAM_MESSAGE));
+            msgAnnotationsMatcher.withEntry(AmqpMessageSupport.JMS_MSG_TYPE, equalTo(AmqpMessageSupport.JMS_STREAM_MESSAGE));
             MessagePropertiesSectionMatcher propertiesMatcher = new MessagePropertiesSectionMatcher(true);
             TransferPayloadCompositeMatcher messageMatcher = new TransferPayloadCompositeMatcher();
             messageMatcher.setHeadersMatcher(headersMatcher);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org