summaryrefslogtreecommitdiff
path: root/qpid/java/broker
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2013-08-18 17:09:52 +0000
committerRobert Godfrey <rgodfrey@apache.org>2013-08-18 17:09:52 +0000
commit01cd3bd0acf60c139893ec5544e7575d64bd094d (patch)
tree6943b2a3ac6ce13a3a3c687544f34430cfe2aa9c /qpid/java/broker
parentab6fffad2230229810c995253a6f021e42e03aaf (diff)
downloadqpid-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.java18
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);
}