summaryrefslogtreecommitdiff
path: root/java/client/src/main
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2007-03-29 15:32:56 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2007-03-29 15:32:56 +0000
commit31bcf8b06da1e69d3ed08e733d0be166ab9d8d58 (patch)
treef2ab0fc9cf58dffc41803602a72ee36172312819 /java/client/src/main
parent9180adf0265c0e31fa217836915914c40731772f (diff)
downloadqpid-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.java21
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java3
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();