From 2d84ebceb5c55a7dca0f8523704a8ef1b7190a42 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Wed, 24 Jan 2007 18:42:37 +0000 Subject: Fixed problem with missing type field in Message.transport. Used JMSHeaders instead. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@499525 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/qpid/client/CustomJMXProperty.java | 3 ++- .../qpid/client/handler/MessageTransferMethodHandler.java | 2 +- .../org/apache/qpid/client/message/AbstractJMSMessage.java | 11 +++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'java/client') diff --git a/java/client/src/main/java/org/apache/qpid/client/CustomJMXProperty.java b/java/client/src/main/java/org/apache/qpid/client/CustomJMXProperty.java index 3a7b7a7b3d..56cd4f3aa3 100644 --- a/java/client/src/main/java/org/apache/qpid/client/CustomJMXProperty.java +++ b/java/client/src/main/java/org/apache/qpid/client/CustomJMXProperty.java @@ -26,7 +26,8 @@ public enum CustomJMXProperty { JMSX_QPID_JMSDESTINATIONURL, JMSXGroupID, - JMSXGroupSeq; + JMSXGroupSeq, + JMSXType; private static Enumeration _names; diff --git a/java/client/src/main/java/org/apache/qpid/client/handler/MessageTransferMethodHandler.java b/java/client/src/main/java/org/apache/qpid/client/handler/MessageTransferMethodHandler.java index f4e917a943..f278fb5116 100644 --- a/java/client/src/main/java/org/apache/qpid/client/handler/MessageTransferMethodHandler.java +++ b/java/client/src/main/java/org/apache/qpid/client/handler/MessageTransferMethodHandler.java @@ -75,7 +75,7 @@ public class MessageTransferMethodHandler implements StateAwareMethodListener msg.contentHeader = messageHeaders; - if(transferBody.getBody().contentType == Content.TypeEnum.INLINE_T) + if(transferBody.getBody().getContentType() == Content.TypeEnum.INLINE_T) { msg.addContent(transferBody.getBody().getContentAsByteArray()); protocolSession.deliverMessageToAMQSession(evt.getChannelId(), msg); diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java index 0123a2324d..10b893188c 100644 --- a/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java +++ b/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java @@ -34,6 +34,7 @@ import org.apache.mina.common.ByteBuffer; import org.apache.qpid.AMQException; import org.apache.qpid.client.AMQDestination; import org.apache.qpid.client.BasicMessageConsumer; +import org.apache.qpid.client.CustomJMXProperty; import org.apache.qpid.framing.FieldTable; import org.apache.qpid.url.AMQBindingURL; import org.apache.qpid.url.BindingURL; @@ -205,12 +206,18 @@ public abstract class AbstractJMSMessage extends AMQMessage implements org.apach public String getJMSType() throws JMSException { - return getMessageHeaders().getType(); + // Since the type field is not a part of message.transport and is used only for + // JMS messages, this change to JMS Headers solves the problem. + // return getMessageHeaders().getType(); + return getStringProperty(CustomJMXProperty.JMSXType.toString()); } public void setJMSType(String string) throws JMSException { - getMessageHeaders().setType(string); + // Since the type field is not a part of message.transport and is used only for + // JMS messages, this change to JMS Headers solves the problem. + // getMessageHeaders().setType(string); + setStringProperty(CustomJMXProperty.JMSXType.toString(), string); } public long getJMSExpiration() throws JMSException -- cgit v1.2.1