diff options
Diffstat (limited to 'qpid/java/client')
| -rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java b/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java index 07c36888cb..f0edd0d7bf 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java @@ -385,10 +385,10 @@ public class AMQProtocolSession implements AMQVersionAwareProtocolSession { id = _queueId++; } - // get rid of / and : and ; from address for spec conformance - String localAddress = _protocolHandler.getLocalAddress().toString().replaceAll("[/;:]", ""); - - return new AMQShortString("tmp_" + localAddress + "_" + id); + // convert '.', '/', ':' and ';' to single '_', for spec compliance and readability + String localAddress = _protocolHandler.getLocalAddress().toString().replaceAll("[./:;]", "_"); + String queueName = "tmp_" + localAddress + "_" + id; + return new AMQShortString(queueName.replaceAll("_+", "_")); } public void confirmConsumerCancelled(int channelId, AMQShortString consumerTag) |
