summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java140
1 files changed, 0 insertions, 140 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
deleted file mode 100644
index b77a9d8f6a..0000000000
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-package org.apache.qpid.server.queue;
-
-import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.protocol.AMQConstant;
-import org.apache.qpid.server.configuration.QueueConfiguration;
-import org.apache.qpid.server.virtualhost.VirtualHost;
-
-public class AMQQueueFactory
-{
- public static final AMQShortString X_QPID_PRIORITIES = new AMQShortString("x-qpid-priorities");
- public static final AMQShortString QPID_MAX_COUNT = new AMQShortString("qpid.max_count");
- public static final AMQShortString QPID_MAX_SIZE = new AMQShortString("qpid.max_size");
- public static final AMQShortString QPID_POLICY_TYPE = new AMQShortString("qpid.policy_type");
- public static final String QPID_FLOW_TO_DISK = "flow_to_disk";
-
- public static AMQQueue createAMQQueueImpl(AMQShortString name,
- boolean durable,
- AMQShortString owner,
- boolean autoDelete,
- VirtualHost virtualHost, final FieldTable arguments)
- throws AMQException
- {
-
- int priorities = 1;
-
- if (arguments != null && arguments.containsKey(X_QPID_PRIORITIES))
- {
- Integer priority = arguments.getInteger(X_QPID_PRIORITIES);
-
- if (priority != null)
- {
- priorities = priority.intValue();
- }
- else
- {
- throw new AMQException(AMQConstant.INVALID_ARGUMENT,
- "Queue create request with non integer value for :" + X_QPID_PRIORITIES + "=" + arguments.get(X_QPID_PRIORITIES), null);
- }
-
- }
-
- AMQQueue q = null;
- if (priorities > 1)
- {
- q = new AMQPriorityQueue(name, durable, owner, autoDelete, virtualHost, priorities);
- }
- else
- {
- q = new SimpleAMQQueue(name, durable, owner, autoDelete, virtualHost);
- }
-
- final String queuePolicyType = arguments == null ? null :
- arguments.containsKey(QPID_POLICY_TYPE) ? arguments.getString(QPID_POLICY_TYPE) : null;
-
- if (queuePolicyType != null)
- {
- if (queuePolicyType.equals(QPID_FLOW_TO_DISK))
- {
- if (arguments.containsKey(QPID_MAX_SIZE))
- {
-
- final long queueSize = arguments.getInteger(QPID_MAX_SIZE);
-
- if (queueSize < 0)
- {
- throw new AMQException(AMQConstant.INVALID_ARGUMENT,
- "Queue create request with negative size:" + queueSize, null);
- }
-
- q.setMemoryUsageMaximum(queueSize);
- }
- else
- {
- throw new AMQException(AMQConstant.INVALID_ARGUMENT,
- "Queue create request with no qpid.max_size value,", null);
- }
- }
- else
- {
- throw new AMQException(AMQConstant.NOT_IMPLEMENTED,
- "Queue create request with unknown Policy Type:" + queuePolicyType, null);
- }
-
- }
-
- //Register the new queue
- virtualHost.getQueueRegistry().registerQueue(q);
- return q;
- }
-
- public static AMQQueue createAMQQueueImpl(QueueConfiguration config, VirtualHost host) throws AMQException
- {
- AMQShortString queueName = new AMQShortString(config.getName());
-
- boolean durable = config.getDurable();
- boolean autodelete = config.getAutoDelete();
- AMQShortString owner = (config.getOwner() != null) ? new AMQShortString(config.getOwner()) : null;
- FieldTable arguments = null;
- boolean priority = config.getPriority();
- int priorities = config.getPriorities();
- if (priority || priorities > 0)
- {
- if (arguments == null)
- {
- arguments = new FieldTable();
- }
- if (priorities < 0)
- {
- priorities = 10;
- }
- arguments.put(new AMQShortString("x-qpid-priorities"), priorities);
- }
-
- AMQQueue q = createAMQQueueImpl(queueName, durable, owner, autodelete, host, arguments);
- q.configure(config);
- return q;
- }
-}