public static AMQQueue createAMQQueueImpl(QueueConfiguration config, VirtualHost host) throws AMQException { String queueName = config.getName(); boolean durable = config.getDurable(); boolean autodelete = config.getAutoDelete(); boolean exclusive = config.getExclusive(); String owner = config.getOwner(); Map<String, Object> arguments = null; if (config.isLVQ() || config.getLVQKey() != null) { arguments = new HashMap<String, Object>(); arguments.put(QPID_LAST_VALUE_QUEUE, 1); arguments.put( QPID_LAST_VALUE_QUEUE_KEY, config.getLVQKey() == null ? QPID_LVQ_KEY : config.getLVQKey()); } else { boolean priority = config.getPriority(); int priorities = config.getPriorities(); if (priority || priorities > 0) { arguments = new HashMap<String, Object>(); if (priorities < 0) { priorities = 10; } arguments.put("x-qpid-priorities", priorities); } } AMQQueue q = createAMQQueueImpl(queueName, durable, owner, autodelete, exclusive, host, arguments); q.configure(config); return q; }
public void setPropertyValue(AMQQueue queue, long value) { queue.setFlowResumeCapacity(value); }
public void setPropertyValue(AMQQueue queue, long value) { queue.setMinimumAlertRepeatGap(value); }
public void setPropertyValue(AMQQueue queue, long value) { queue.setMaximumMessageCount(value); }
public static AMQQueue createAMQQueueImpl( String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String, Object> arguments) throws AMQSecurityException { // Access check if (!virtualHost .getSecurityManager() .authoriseCreateQueue( autoDelete, durable, exclusive, null, null, new AMQShortString(queueName), owner)) { String description = "Permission denied: queue-name '" + queueName + "'"; throw new AMQSecurityException(description); } int priorities = 1; String conflationKey = null; if (arguments != null) { if (arguments.containsKey(QPID_LAST_VALUE_QUEUE) || arguments.containsKey(QPID_LAST_VALUE_QUEUE_KEY)) { conflationKey = (String) arguments.get(QPID_LAST_VALUE_QUEUE_KEY); if (conflationKey == null) { conflationKey = QPID_LVQ_KEY; } } else if (arguments.containsKey(X_QPID_PRIORITIES.toString())) { Object prioritiesObj = arguments.get(X_QPID_PRIORITIES.toString()); if (prioritiesObj instanceof Number) { priorities = ((Number) prioritiesObj).intValue(); } } } AMQQueue q; if (conflationKey != null) { q = new ConflationQueue( queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments, conflationKey); } else if (priorities > 1) { q = new AMQPriorityQueue( queueName, durable, owner, autoDelete, exclusive, virtualHost, priorities, arguments); } else { q = new SimpleAMQQueue( queueName, durable, owner, autoDelete, exclusive, virtualHost, arguments); } // Register the new queue virtualHost.getQueueRegistry().registerQueue(q); q.configure(virtualHost.getConfiguration().getQueueConfiguration(queueName)); if (arguments != null) { for (QueueProperty p : DECLAREABLE_PROPERTIES) { if (arguments.containsKey(p.getArgumentName().toString())) { p.setPropertyValue(q, arguments.get(p.getArgumentName().toString())); } } } return q; }