summaryrefslogtreecommitdiff
path: root/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java')
-rw-r--r--java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java28
1 files changed, 18 insertions, 10 deletions
diff --git a/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java b/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java
index 4440d045d1..1e41a0fb3e 100644
--- a/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java
+++ b/java/broker-core/src/main/java/org/apache/qpid/server/queue/PriorityQueue.java
@@ -20,23 +20,31 @@
*/
package org.apache.qpid.server.queue;
+import org.apache.qpid.server.model.Queue;
+import org.apache.qpid.server.protocol.AMQSessionModel;
+import org.apache.qpid.server.util.MapValueConverter;
import org.apache.qpid.server.virtualhost.VirtualHost;
import java.util.Map;
-import java.util.UUID;
public class PriorityQueue extends OutOfOrderQueue<PriorityQueueList.PriorityQueueEntry, PriorityQueue, PriorityQueueList>
{
- protected PriorityQueue(UUID id,
- final String name,
- final boolean durable,
- final String owner,
- final boolean autoDelete,
- boolean exclusive,
- final VirtualHost virtualHost,
- Map<String, Object> arguments, int priorities)
+
+ public static final int DEFAULT_PRIORITY_LEVELS = 10;
+
+ protected PriorityQueue(VirtualHost virtualHost,
+ final AMQSessionModel creatingSession,
+ Map<String, Object> attributes)
+ {
+ super(virtualHost, creatingSession, attributes, entryList(attributes));
+ }
+
+ private static PriorityQueueList.Factory entryList(final Map<String, Object> attributes)
{
- super(id, name, durable, owner, autoDelete, exclusive, virtualHost, new PriorityQueueList.Factory(priorities), arguments);
+ final Integer priorities = MapValueConverter.getIntegerAttribute(Queue.PRIORITIES, attributes,
+ DEFAULT_PRIORITY_LEVELS);
+
+ return new PriorityQueueList.Factory(priorities);
}
public int getPriorities()