private JsonObject enrichConsumer(JsonObject originalConsumer, ActiveMQServer server) { JsonObjectBuilder enrichedConsumer = Json.createObjectBuilder(); for (Map.Entry<String, JsonValue> entry : originalConsumer.entrySet()) { enrichedConsumer.add(entry.getKey(), entry.getValue()); } String queueName = originalConsumer.getString("queueName"); final QueueControl queueControl = QueueControl.class.cast(server.getManagementService().getResource(ResourceNames.QUEUE + queueName)); if (queueControl == null) { return originalConsumer; } enrichedConsumer.add("durable", queueControl.isDurable()); String routingType = queueControl.getRoutingType(); String destinationType = routingType.equals("ANYCAST") ? "queue" : "topic"; enrichedConsumer.add("destinationType", destinationType); String address = queueControl.getAddress(); String destinationName = inferDestinationName(address); enrichedConsumer.add("destinationName", destinationName); return enrichedConsumer.build(); }
@Override public String[] getQueueNames(String routingType) { checkStarted(); clearIO(); try { Object[] queueControls = server.getManagementService().getResources(QueueControl.class); List<String> names = new ArrayList<>(); for (int i = 0; i < queueControls.length; i++) { QueueControl queueControl = (QueueControl) queueControls[i]; if (routingType != null && queueControl.getRoutingType().equals(routingType.toUpperCase())) { names.add(queueControl.getName()); } else if (routingType == null) { names.add(queueControl.getName()); } } String[] result = new String[names.size()]; return names.toArray(result); } finally { blockOnIO(); } }
private JsonObject enrichConsumer(JsonObject originalConsumer, ActiveMQServer server) { JsonObjectBuilder enrichedConsumer = Json.createObjectBuilder(); for (Map.Entry<String, JsonValue> entry : originalConsumer.entrySet()) { enrichedConsumer.add(entry.getKey(), entry.getValue()); } String queueName = originalConsumer.getString("queueName"); final QueueControl queueControl = QueueControl.class.cast(server.getManagementService().getResource(ResourceNames.QUEUE + queueName)); if (queueControl == null) { return originalConsumer; } enrichedConsumer.add("durable", queueControl.isDurable()); String routingType = queueControl.getRoutingType(); String destinationType = routingType.equals("ANYCAST") ? "queue" : "topic"; enrichedConsumer.add("destinationType", destinationType); String address = queueControl.getAddress(); String destinationName = inferDestinationName(address); enrichedConsumer.add("destinationName", destinationName); return enrichedConsumer.build(); }
String subName = null; if (queue.isDurable() && RoutingType.MULTICAST.toString().equals(queue.getRoutingType())) { Pair<String, String> pair = ActiveMQDestination.decomposeQueueNameForDurableSubscription(queue.getName()); clientID = pair.getA(); subName = pair.getB(); } else if (RoutingType.MULTICAST.toString().equals(queue.getRoutingType())) {
@Override public JsonObjectBuilder toJson(QueueControl queue) { Queue q = server.locateQueue(new SimpleString(queue.getName())); JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(queue.getID())) .add("name", toString(queue.getName())).add("address", toString(queue.getAddress())) .add("filter", toString(queue.getFilter())).add("rate", toString(q.getRate())) .add("durable", toString(queue.isDurable())).add("paused", toString(q.isPaused())) .add("temporary", toString(queue.isTemporary())) .add("purgeOnNoConsumers", toString(queue.isPurgeOnNoConsumers())) .add("consumerCount", toString(queue.getConsumerCount())) .add("maxConsumers", toString(queue.getMaxConsumers())) .add("autoCreated", toString(q.isAutoCreated())) .add("user", toString(q.getUser())) .add("routingType", toString(queue.getRoutingType())) .add("messagesAdded", toString(queue.getMessagesAdded())) .add("messageCount", toString(queue.getMessageCount())) .add("messagesAcked", toString(queue.getMessagesAcknowledged())) .add("deliveringCount", toString(queue.getDeliveringCount())) .add("messagesKilled", toString(queue.getMessagesKilled())) .add("deliverDeliver", toString(q.isDirectDeliver())) .add("exclusive", toString(queue.isExclusive())) .add("lastValue", toString(queue.isLastValue())); return obj; }
String subName = null; if (queue.isDurable() && queue.getRoutingType() == RoutingType.MULTICAST.toString()) { Pair<String, String> pair = ActiveMQDestination.decomposeQueueNameForDurableSubscription(queue.getName()); clientID = pair.getA(); subName = pair.getB(); } else if (queue.getRoutingType() == RoutingType.MULTICAST.toString()) {
return q.getUser(); case "routingType": return queue.getRoutingType(); case "messagesAdded": return queue.getMessagesAdded();
return matches(queue.getMessagesExpired()); case ROUTING_TYPE: return matches(queue.getRoutingType()); case AUTO_CREATED: return matches(server.locateQueue(new SimpleString(queue.getName())).isAutoCreated());