diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2007-04-23 15:52:43 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2007-04-23 15:52:43 +0000 |
| commit | 8de38d68d7efe3b286da38c996cd8eabbe67ddc8 (patch) | |
| tree | 1b5c3b65bd94be90a843236053a4afb1d933c8a4 /java/client/src/main | |
| parent | 52a474635f26e00951cbb3fe573d59be82d1a03a (diff) | |
| download | qpid-python-8de38d68d7efe3b286da38c996cd8eabbe67ddc8.tar.gz | |
QPID-472 - Creation of TemporaryQueues will not guarantee unique queue names if created rapidly.
Updated TemporaryQueueTest.java so that it checks Headers/Queue/Topic for unroutable/mandatory messages beig returned.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@531512 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/src/main')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java b/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java index ce8e14506f..f54cb782c8 100644 --- a/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java +++ b/java/client/src/main/java/org/apache/qpid/client/AMQTemporaryQueue.java @@ -25,9 +25,10 @@ import javax.jms.TemporaryQueue; import org.apache.qpid.framing.AMQShortString; -/** - * AMQ implementation of a TemporaryQueue. - */ +import java.util.Random; +import java.util.UUID; + +/** AMQ implementation of a TemporaryQueue. */ final class AMQTemporaryQueue extends AMQQueue implements TemporaryQueue, TemporaryDestination { @@ -35,21 +36,17 @@ final class AMQTemporaryQueue extends AMQQueue implements TemporaryQueue, Tempor private final AMQSession _session; private boolean _deleted; - /** - * Create a new instance of an AMQTemporaryQueue - */ + /** Create a new instance of an AMQTemporaryQueue */ public AMQTemporaryQueue(AMQSession session) { - super(session.getTemporaryQueueExchangeName(),new AMQShortString("TempQueue" + Long.toString(System.currentTimeMillis())), true); + super(session.getTemporaryQueueExchangeName(), new AMQShortString("TempQueue" + UUID.randomUUID()), true); _session = session; } - /** - * @see javax.jms.TemporaryQueue#delete() - */ + /** @see javax.jms.TemporaryQueue#delete() */ public synchronized void delete() throws JMSException { - if(_session.hasConsumer(this)) + if (_session.hasConsumer(this)) { throw new JMSException("Temporary Queue has consumers so cannot be deleted"); } |
