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 | 01cd3bd0acf60c139893ec5544e7575d64bd094d (patch) | |
| tree | 6943b2a3ac6ce13a3a3c687544f34430cfe2aa9c /qpid/java/broker | |
| parent | ab6fffad2230229810c995253a6f021e42e03aaf (diff) | |
| download | qpid-python-01cd3bd0acf60c139893ec5544e7575d64bd094d.tar.gz | |
QPID-5081 : [Java Broker] Refactor Queue Creation
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1515170 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker')
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java index e9181c0e12..15c2c768bb 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java +++ b/qpid/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); } |
