diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2013-08-18 17:09:52 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2013-08-18 17:09:52 +0000 |
| commit | 986a21b1aedfa9090c14f0d29994ec2e54cf8ea2 (patch) | |
| tree | 6415348dcdf6a5ff0b40d4ef8e98a7aef390e1ee /java | |
| parent | c4794154e1c058d6761ef59f525deb68b42ef91f (diff) | |
| download | qpid-python-986a21b1aedfa9090c14f0d29994ec2e54cf8ea2.tar.gz | |
QPID-5081 : [Java Broker] Refactor Queue Creation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1515170 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java b/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java index e9181c0e12..15c2c768bb 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java +++ b/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java @@ -20,11 +20,14 @@ */ package org.apache.qpid.server.store; +import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; +import java.util.Set; import org.apache.qpid.AMQStoreException; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.FieldTable; @@ -41,6 +44,10 @@ public class DurableConfigurationStoreHelper private static final String BINDING = Binding.class.getSimpleName(); private static final String EXCHANGE = Exchange.class.getSimpleName(); private static final String QUEUE = Queue.class.getSimpleName(); + private static final Set<String> QUEUE_ARGUMENTS_EXCLUDES = new HashSet<String>(Arrays.asList(Queue.NAME, + Queue.OWNER, + Queue.EXCLUSIVE, + Queue.ALTERNATE_EXCHANGE)); public static void updateQueue(DurableConfigurationStore store, AMQQueue queue) throws AMQStoreException { @@ -58,7 +65,10 @@ public class DurableConfigurationStoreHelper for(String attrName : availableAttrs) { - attributesMap.put(attrName, queue.getAttribute(attrName)); + if(!QUEUE_ARGUMENTS_EXCLUDES.contains(attrName)) + { + attributesMap.put(attrName, queue.getAttribute(attrName)); + } } store.update(queue.getId(), QUEUE, attributesMap); @@ -75,9 +85,13 @@ public class DurableConfigurationStoreHelper { attributesMap.put(Queue.ALTERNATE_EXCHANGE, queue.getAlternateExchange().getId()); } + for(String attrName : queue.getAvailableAttributes()) { - attributesMap.put(attrName, queue.getAttribute(attrName)); + if(!QUEUE_ARGUMENTS_EXCLUDES.contains(attrName)) + { + attributesMap.put(attrName, queue.getAttribute(attrName)); + } } store.create(queue.getId(), QUEUE,attributesMap); } |
