Author: rajith
Date: Thu Mar 29 08:32:56 2007
New Revision: 523747

URL: http://svn.apache.org/viewvc?view=rev&rev=523747
Log:
Fix for setting the message id

Modified:
    
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
    
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java

Modified: 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java?view=diff&rev=523747&r1=523746&r2=523747
==============================================================================
--- 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
 (original)
+++ 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
 Thu Mar 29 08:32:56 2007
@@ -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 @@
     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 @@
     {
         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 @@
         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)

Modified: 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java?view=diff&rev=523747&r1=523746&r2=523747
==============================================================================
--- 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
 (original)
+++ 
incubator/qpid/branches/M2/java/client/src/main/java/org/apache/qpid/client/message/AbstractJMSMessage.java
 Thu Mar 29 08:32:56 2007
@@ -23,6 +23,7 @@
 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 @@
     {
         if (getContentHeaderProperties().getMessageIdAsString() == null)
         {
-            getContentHeaderProperties().setMessageId("ID:" + _deliveryTag);
+            getContentHeaderProperties().setMessageId("ID:" + 
UUID.randomUUID());
         }
 
         return getContentHeaderProperties().getMessageIdAsString();


Reply via email to