diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2007-03-29 15:32:56 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2007-03-29 15:32:56 +0000 |
| commit | 31bcf8b06da1e69d3ed08e733d0be166ab9d8d58 (patch) | |
| tree | f2ab0fc9cf58dffc41803602a72ee36172312819 /java/client/src/main | |
| parent | 9180adf0265c0e31fa217836915914c40731772f (diff) | |
| download | qpid-python-31bcf8b06da1e69d3ed08e733d0be166ab9d8d58.tar.gz | |
Fix for setting the message id
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@523747 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src/main')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java | 21 | ||||
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java | 3 |
2 files changed, 20 insertions, 4 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java index b01e087ce1..5b6945e259 100644 --- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java +++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java @@ -21,6 +21,7 @@ package org.apache.qpid.client; import java.io.UnsupportedEncodingException; +import java.util.UUID; import javax.jms.BytesMessage; import javax.jms.DeliveryMode; @@ -118,6 +119,9 @@ public class BasicMessageProducer extends Closeable implements org.apache.qpid.j private final boolean _mandatory; private final boolean _waitUntilSent; + + private boolean _disableMessageId; + private static final ContentBody[] NO_CONTENT_BODIES = new ContentBody[0]; protected BasicMessageProducer(AMQConnection connection, AMQDestination destination, boolean transacted, int channelId, @@ -172,15 +176,14 @@ public class BasicMessageProducer extends Closeable implements org.apache.qpid.j { checkPreConditions(); checkNotClosed(); - // IGNORED + _disableMessageId = b; } public boolean getDisableMessageID() throws JMSException { checkNotClosed(); - // Always false for AMQP - return false; + return _disableMessageId; } public void setDisableMessageTimestamp(boolean b) throws JMSException @@ -450,6 +453,18 @@ public class BasicMessageProducer extends Closeable implements org.apache.qpid.j origMessage.setJMSDestination(destination); AbstractJMSMessage message = convertToNativeMessage(origMessage); + + if(_disableMessageId) + { + message.setJMSMessageID(null); + } + else + { + if (message.getJMSMessageID() == null) + { + message.setJMSMessageID(UUID.randomUUID().toString()); + } + } int type; if (destination instanceof Topic) 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 66524edce3..41a143c544 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 @@ -23,6 +23,7 @@ package org.apache.qpid.client.message; import java.util.Collections; import java.util.Enumeration; import java.util.Map; +import java.util.UUID; import javax.jms.Destination; import javax.jms.JMSException; @@ -123,7 +124,7 @@ public abstract class AbstractJMSMessage extends AMQMessage implements org.apach { if (getContentHeaderProperties().getMessageIdAsString() == null) { - getContentHeaderProperties().setMessageId("ID:" + _deliveryTag); + getContentHeaderProperties().setMessageId("ID:" + UUID.randomUUID()); } return getContentHeaderProperties().getMessageIdAsString(); |
