summaryrefslogtreecommitdiff
path: root/qpid/java/client/src
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2013-02-04 21:13:37 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2013-02-04 21:13:37 +0000
commit2431662074a4468b133ae993e9d60bf82366836e (patch)
tree1bd40e5dfa5283b46ac5b45dcaec898f8a7daa4f /qpid/java/client/src
parent92148bb2c44311cb647241ffa8510a1220c76dd9 (diff)
downloadqpid-python-2431662074a4468b133ae993e9d60bf82366836e.tar.gz
QPID-4566 Allow a non UUID String to be set as message-id. This is
required when Qpid Messages are sent using a 3rd party JMS Message Producer. Ex a Message Bridge. This doesn't affect AMQP 0-10 compliance as the sender implementation will always assign an UUID string as the message-id. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1442364 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java19
1 files changed, 9 insertions, 10 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
index ee39ecd7fc..94b835dd1a 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/message/AMQMessageDelegate_0_10.java
@@ -91,6 +91,7 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate
private MessageProperties _messageProps;
private DeliveryProperties _deliveryProps;
+ private String _messageID;
protected AMQMessageDelegate_0_10()
{
@@ -171,8 +172,12 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate
public String getJMSMessageID() throws JMSException
{
- UUID id = _messageProps.getMessageId();
- return id == null ? null : "ID:" + id;
+ if (_messageID == null && _messageProps.getMessageId() != null)
+ {
+ UUID id = _messageProps.getMessageId();
+ _messageID = "ID:" + id;
+ }
+ return _messageID;
}
public void setJMSMessageID(String messageId) throws JMSException
@@ -185,14 +190,7 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate
{
if(messageId.startsWith("ID:"))
{
- try
- {
- _messageProps.setMessageId(UUID.fromString(messageId.substring(3)));
- }
- catch(IllegalArgumentException ex)
- {
- throw new JMSException("MessageId '"+messageId+"' is not of the correct format, it must be ID: followed by a UUID");
- }
+ _messageID = messageId;
}
else
{
@@ -201,6 +199,7 @@ public class AMQMessageDelegate_0_10 extends AbstractAMQMessageDelegate
}
}
+ /* Used by the internal implementation */
public void setJMSMessageID(UUID messageId) throws JMSException
{
if(messageId == null)