You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2015/01/16 17:30:47 UTC

[1/5] qpid-jms git commit: ensure the enqueueFirst method on PriorityMessageQueue actually does what it says on the tin

Repository: qpid-jms
Updated Branches:
  refs/heads/master 6a42bb937 -> 997c5aec5


ensure the enqueueFirst method on PriorityMessageQueue actually does what it says on the tin


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/28dc394b
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/28dc394b
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/28dc394b

Branch: refs/heads/master
Commit: 28dc394bd7ec82c39eaa700d46239d0f2443c3eb
Parents: 6a42bb9
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 15:27:32 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 15:27:32 2015 +0000

----------------------------------------------------------------------
 .../qpid/jms/util/PriorityMessageQueue.java      | 11 ++++++++---
 .../qpid/jms/util/PriorityMessageQueueTest.java  | 19 ++++++++++++++-----
 2 files changed, 22 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/28dc394b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
index e0c7357..75a48e1 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
@@ -26,7 +26,8 @@ import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
 
 /**
  * Simple Message Priority ordered Queue.  Message envelopes are stored in the
- * Queue based on their priority value.
+ * Queue based on their priority value, except where {@link #enqueueFirst} is
+ * used.
  */
 public final class PriorityMessageQueue extends AbstractMessageQueue {
 
@@ -55,7 +56,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     @Override
     public void enqueueFirst(JmsInboundMessageDispatch envelope) {
         synchronized (lock) {
-            getList(envelope).addFirst(envelope);
+            getList(MAX_PRIORITY - 1).addFirst(envelope);
             this.size++;
             lock.notify();
         }
@@ -139,6 +140,10 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     }
 
     private LinkedList<JmsInboundMessageDispatch> getList(JmsInboundMessageDispatch envelope) {
-        return lists[getPriority(envelope)];
+        return getList(getPriority(envelope));
+    }
+
+    private LinkedList<JmsInboundMessageDispatch> getList(int priority) {
+        return lists[priority];
     }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/28dc394b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
index e0fee32..79d3c19 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/util/PriorityMessageQueueTest.java
@@ -148,15 +148,24 @@ public class PriorityMessageQueueTest {
     }
 
     @Test
-    public void testEnqueueFirst() {
-        JmsInboundMessageDispatch message1 = createEnvelope();
-        JmsInboundMessageDispatch message2 = createEnvelope();
-        JmsInboundMessageDispatch message3 = createEnvelope();
+    public void testEnqueueFirstOverridesPriority() {
+        // Add a higher priority message
+        JmsInboundMessageDispatch message1 = createEnvelope(7);
+
+        queue.enqueue(message1);
+
+        // Add other lower priority messages 'first'.
+        JmsInboundMessageDispatch message2 = createEnvelope(4);
+        JmsInboundMessageDispatch message3 = createEnvelope(3);
+        JmsInboundMessageDispatch message4 = createEnvelope(2);
 
-        queue.enqueueFirst(message1);
         queue.enqueueFirst(message2);
         queue.enqueueFirst(message3);
+        queue.enqueueFirst(message4);
 
+        // Verify they dequeue in the reverse of the order
+        // they were added, and not priority order.
+        assertSame(message4, queue.dequeueNoWait());
         assertSame(message3, queue.dequeueNoWait());
         assertSame(message2, queue.dequeueNoWait());
         assertSame(message1, queue.dequeueNoWait());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[3/5] qpid-jms git commit: disable client-side priority reordering by default

Posted by ro...@apache.org.
disable client-side priority reordering by default


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/63643e75
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/63643e75
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/63643e75

Branch: refs/heads/master
Commit: 63643e75e6d64c5126769d219e6c24242eb4d9c3
Parents: 4249b68
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 15:59:41 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 15:59:41 2015 +0000

----------------------------------------------------------------------
 .../main/java/org/apache/qpid/jms/JmsConnectionFactory.java    | 6 +++---
 .../qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java     | 5 ++++-
 .../qpid/jms/transactions/JmsTransactedConsumerTest.java       | 4 +++-
 3 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/63643e75/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
index 1ec9213..4c3d3bf 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java
@@ -60,7 +60,7 @@ public class JmsConnectionFactory extends JNDIStorable implements ConnectionFact
     private boolean alwaysSyncSend;
     private boolean sendAcksAsync;
     private boolean omitHost;
-    private boolean messagePrioritySupported = true;
+    private boolean messagePrioritySupported = false;
     private String queuePrefix = null;
     private String topicPrefix = null;
     private long sendTimeout = JmsConnectionInfo.DEFAULT_SEND_TIMEOUT;
@@ -423,8 +423,8 @@ public class JmsConnectionFactory extends JNDIStorable implements ConnectionFact
     }
 
     /**
-     * Enables message priority support in MessageConsumer instances.  This results
-     * in all prefetched messages being dispatched in priority order.
+     * Enables client-side message priority support in MessageConsumer instances.
+     * This results in all prefetched messages being dispatched in priority order.
      *
      * @param messagePrioritySupported the messagePrioritySupported to set
      */

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/63643e75/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
index cee54d3..27f290c 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
@@ -17,6 +17,7 @@
 package org.apache.qpid.jms.consumer;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 
 import java.util.concurrent.TimeUnit;
@@ -41,6 +42,7 @@ public class JmsConsumerPriorityDispatchTest extends AmqpTestSupport {
     @Test(timeout = 60000)
     public void testPrefetchedMessageArePriorityOrdered() throws Exception {
         connection = createAmqpConnection();
+        ((JmsConnection) connection).setMessagePrioritySupported(true);
         connection.start();
         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
         Queue queue = session.createQueue(name.getMethodName());
@@ -79,7 +81,8 @@ public class JmsConsumerPriorityDispatchTest extends AmqpTestSupport {
         // broker method in AmqpTestSupport.  If that changes then this test will sometimes
         // fail.
         connection = createAmqpConnection();
-        ((JmsConnection) connection).setMessagePrioritySupported(false);
+        assertFalse("Client side priority ordering expected to be disabled for this test",
+                   ((JmsConnection) connection).isMessagePrioritySupported());
         connection.start();
         Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
         Queue queue = session.createQueue(name.getMethodName());

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/63643e75/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
index a6c2c43..3c5bb29 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
@@ -32,6 +32,7 @@ import javax.jms.Session;
 import javax.jms.TextMessage;
 
 import org.apache.activemq.broker.jmx.QueueViewMBean;
+import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.support.AmqpTestSupport;
 import org.apache.qpid.jms.support.QpidJmsTestSupport;
 import org.junit.Test;
@@ -286,8 +287,9 @@ public class JmsTransactedConsumerTest extends AmqpTestSupport {
     }
 
     @Test(timeout=30000)
-    public void testSessionTransactedCommitWithPriorityReordering() throws Exception {
+    public void testSessionTransactedCommitWithLocalPriorityReordering() throws Exception {
         connection = createAmqpConnection();
+        ((JmsConnection) connection).setMessagePrioritySupported(true);
         Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
         Queue queue = session.createQueue(getDestinationName());
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[4/5] qpid-jms git commit: stop test harness enabling client-side priority ordering

Posted by ro...@apache.org.
stop test harness enabling client-side priority ordering


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/ce05783c
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/ce05783c
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/ce05783c

Branch: refs/heads/master
Commit: ce05783cd135980bcc6bdf622436636790d281a2
Parents: 63643e7
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 16:23:55 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 16:23:55 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java     | 5 -----
 .../org/apache/qpid/jms/bench/ProducerAndConsumerBench.java     | 5 -----
 .../test/java/org/apache/qpid/jms/support/AmqpTestSupport.java  | 1 -
 .../java/org/apache/qpid/jms/support/QpidJmsTestSupport.java    | 4 ----
 4 files changed, 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ce05783c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java
index 90d7358..8df7952 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ConsumeFromAMQPTest.java
@@ -69,11 +69,6 @@ public class ConsumeFromAMQPTest extends AmqpTestSupport {
     }
 
     @Override
-    protected boolean isMessagePrioritySupported() {
-        return false;
-    }
-
-    @Override
     protected boolean isSendAcksAsync() {
         return true;
     }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ce05783c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ProducerAndConsumerBench.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ProducerAndConsumerBench.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ProducerAndConsumerBench.java
index 0dacc84..7ff8cfb 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ProducerAndConsumerBench.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/bench/ProducerAndConsumerBench.java
@@ -176,11 +176,6 @@ public class ProducerAndConsumerBench extends AmqpTestSupport  {
     }
 
     @Override
-    protected boolean isMessagePrioritySupported() {
-        return false;
-    }
-
-    @Override
     protected boolean isSendAcksAsync() {
         return true;
     }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ce05783c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/AmqpTestSupport.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/AmqpTestSupport.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/AmqpTestSupport.java
index 0e1d247..97b3fb5 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/AmqpTestSupport.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/AmqpTestSupport.java
@@ -132,7 +132,6 @@ public class AmqpTestSupport extends QpidJmsTestSupport {
         JmsConnectionFactory factory = new JmsConnectionFactory(brokerURI);
         factory.setForceAsyncSend(isForceAsyncSends());
         factory.setAlwaysSyncSend(isAlwaysSyncSend());
-        factory.setMessagePrioritySupported(isMessagePrioritySupported());
         factory.setSendAcksAsync(isSendAcksAsync());
         if (username != null) {
             factory.setUsername(username);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ce05783c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/QpidJmsTestSupport.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/QpidJmsTestSupport.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/QpidJmsTestSupport.java
index 522907c..121b5ec 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/QpidJmsTestSupport.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/support/QpidJmsTestSupport.java
@@ -465,10 +465,6 @@ public class QpidJmsTestSupport {
         return false;
     }
 
-    protected boolean isMessagePrioritySupported() {
-        return true;
-    }
-
     protected boolean isSendAcksAsync() {
         return false;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[5/5] qpid-jms git commit: update profile name

Posted by ro...@apache.org.
update profile name


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/997c5aec
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/997c5aec
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/997c5aec

Branch: refs/heads/master
Commit: 997c5aec52e1e6070864895d4d1c1390618cc8c8
Parents: ce05783
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 16:27:41 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 16:27:41 2015 +0000

----------------------------------------------------------------------
 qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/997c5aec/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml b/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
index 5324309..021b838 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
@@ -115,7 +115,7 @@
   </dependencies>
   <profiles>
     <profile>
-      <id>activemq.tests.hpux.excludes</id>
+      <id>activemq.tests.mac.excludes</id>
       <activation>
         <os>
           <family>mac</family>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/5] qpid-jms git commit: rebase max value constant and update usage accordingly for clarity

Posted by ro...@apache.org.
rebase max value constant and update usage accordingly for clarity


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/4249b68d
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/4249b68d
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/4249b68d

Branch: refs/heads/master
Commit: 4249b68d08e1836d6390dc4dbb3d7de0af9a27ee
Parents: 28dc394
Author: Robert Gemmell <ro...@apache.org>
Authored: Fri Jan 16 15:39:05 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Fri Jan 16 15:39:05 2015 +0000

----------------------------------------------------------------------
 .../qpid/jms/util/PriorityMessageQueue.java      | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/4249b68d/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
index 75a48e1..6e7c984 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PriorityMessageQueue.java
@@ -31,15 +31,16 @@ import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
  */
 public final class PriorityMessageQueue extends AbstractMessageQueue {
 
-    private static final Integer MAX_PRIORITY = 10;
+    // There are 10 priorities, values 0-9
+    private static final Integer MAX_PRIORITY = 9;
 
     private final LinkedList<JmsInboundMessageDispatch>[] lists;
     private int size = 0;
 
     @SuppressWarnings("unchecked")
     public PriorityMessageQueue() {
-        this.lists = new LinkedList[MAX_PRIORITY];
-        for (int i = 0; i < MAX_PRIORITY; i++) {
+        this.lists = new LinkedList[MAX_PRIORITY + 1];
+        for (int i = 0; i <= MAX_PRIORITY; i++) {
             lists[i] = new LinkedList<JmsInboundMessageDispatch>();
         }
     }
@@ -56,7 +57,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     @Override
     public void enqueueFirst(JmsInboundMessageDispatch envelope) {
         synchronized (lock) {
-            getList(MAX_PRIORITY - 1).addFirst(envelope);
+            getList(MAX_PRIORITY).addFirst(envelope);
             this.size++;
             lock.notify();
         }
@@ -79,7 +80,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     @Override
     public void clear() {
         synchronized (lock) {
-            for (int i = 0; i < MAX_PRIORITY; i++) {
+            for (int i = 0; i <= MAX_PRIORITY; i++) {
                 lists[i].clear();
             }
             this.size = 0;
@@ -90,7 +91,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     public List<JmsInboundMessageDispatch> removeAll() {
         synchronized (lock) {
             ArrayList<JmsInboundMessageDispatch> result = new ArrayList<JmsInboundMessageDispatch>(size());
-            for (int i = MAX_PRIORITY - 1; i >= 0; i--) {
+            for (int i = MAX_PRIORITY; i >= 0; i--) {
                 List<JmsInboundMessageDispatch> list = lists[i];
                 result.addAll(list);
                 size -= list.size();
@@ -103,7 +104,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     @Override
     protected JmsInboundMessageDispatch removeFirst() {
         if (this.size > 0) {
-            for (int i = MAX_PRIORITY - 1; i >= 0; i--) {
+            for (int i = MAX_PRIORITY; i >= 0; i--) {
                 LinkedList<JmsInboundMessageDispatch> list = lists[i];
                 if (!list.isEmpty()) {
                     this.size--;
@@ -117,7 +118,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
     @Override
     protected JmsInboundMessageDispatch peekFirst() {
         if (this.size > 0) {
-            for (int i = MAX_PRIORITY - 1; i >= 0; i--) {
+            for (int i = MAX_PRIORITY; i >= 0; i--) {
                 LinkedList<JmsInboundMessageDispatch> list = lists[i];
                 if (!list.isEmpty()) {
                     return list.peekFirst();
@@ -134,7 +135,7 @@ public final class PriorityMessageQueue extends AbstractMessageQueue {
                 priority = Math.max(envelope.getMessage().getJMSPriority(), 0);
             } catch (JMSException e) {
             }
-            priority = Math.min(priority, 9);
+            priority = Math.min(priority, MAX_PRIORITY);
         }
         return priority;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org