private List<QueueControl> getQueues(final DurabilityType durability) { try { List<QueueControl> matchingQueues = new ArrayList<QueueControl>(); String[] queues = addressControl.getQueueNames(); for (String queue : queues) { QueueControl coreQueueControl = (QueueControl)managementService.getResource(ResourceNames.CORE_QUEUE + queue); // Ignore the "special" subscription if (coreQueueControl != null && !coreQueueControl.getName().equals(addressControl.getAddress())) { if (durability == DurabilityType.ALL || durability == DurabilityType.DURABLE && coreQueueControl.isDurable() || durability == DurabilityType.NON_DURABLE && !coreQueueControl.isDurable()) { matchingQueues.add(coreQueueControl); } } } return matchingQueues; } catch (Exception e) { return Collections.emptyList(); } }
private Object[] listSubscribersInfos(final DurabilityType durability) { List<QueueControl> queues = getQueues(durability); List<Object[]> subInfos = new ArrayList<Object[]>(queues.size()); for (QueueControl queue : queues) { String clientID = null; String subName = null; if (queue.isDurable()) { Pair<String, String> pair = HornetQDestination.decomposeQueueNameForDurableSubscription(queue.getName() .toString()); clientID = pair.getA(); subName = pair.getB(); } String filter = queue.getFilter() != null ? queue.getFilter() : null; Object[] subscriptionInfo = new Object[6]; subscriptionInfo[0] = queue.getName(); subscriptionInfo[1] = clientID; subscriptionInfo[2] = subName; subscriptionInfo[3] = queue.isDurable(); subscriptionInfo[4] = queue.getMessageCount(); subscriptionInfo[5] = filter; subInfos.add(subscriptionInfo); } return subInfos.toArray(new Object[subInfos.size()]); }
public String[] getQueueNames() { checkStarted(); clearIO(); try { Object[] queues = server.getManagementService().getResources(QueueControl.class); String[] names = new String[queues.length]; for (int i = 0; i < queues.length; i++) { QueueControl queue = (QueueControl)queues[i]; names[i] = queue.getName(); } return names; } finally { blockOnIO(); } }
public String[] getQueueNames() { checkStarted(); clearIO(); try { Object[] queues = server.getManagementService().getResources(QueueControl.class); String[] names = new String[queues.length]; for (int i = 0; i < queues.length; i++) { QueueControl queue = (QueueControl) queues[i]; names[i] = queue.getName(); } return names; } finally { blockOnIO(); } }