public Map<String, Object>[] listMessagesForSubscription(final String queueName) throws Exception { QueueControl coreQueueControl = (QueueControl)managementService.getResource(ResourceNames.CORE_QUEUE + queueName); if (coreQueueControl == null) { throw new IllegalArgumentException("No subscriptions with name " + queueName); } Map<String, Object>[] coreMessages = coreQueueControl.listMessages(null); Map<String, Object>[] jmsMessages = new Map[coreMessages.length]; int i = 0; for (Map<String, Object> coreMessage : coreMessages) { jmsMessages[i++] = HornetQMessage.coreMaptoJMSMap(coreMessage); } return jmsMessages; }
public int countMessagesForSubscription(final String clientID, final String subscriptionName, final String filterStr) throws Exception { String queueName = HornetQDestination.createQueueNameForDurableSubscription(clientID, subscriptionName); QueueControl coreQueueControl = (QueueControl)managementService.getResource(ResourceNames.CORE_QUEUE + queueName); if (coreQueueControl == null) { throw new IllegalArgumentException("No subscriptions with name " + queueName + " for clientID " + clientID); } String filter = JMSTopicControlImpl.createFilterFromJMSSelector(filterStr); return coreQueueControl.listMessages(filter).length; }
public Map<String, Object>[] listMessages(final String filterStr) throws Exception { try { String filter = JMSQueueControlImpl.createFilterFromJMSSelector(filterStr); Map<String, Object>[] coreMessages = coreQueueControl.listMessages(filter); Map<String, Object>[] jmsMessages = new Map[coreMessages.length]; int i = 0; for (Map<String, Object> coreMessage : coreMessages) { Map<String, Object> jmsMessage = HornetQMessage.coreMaptoJMSMap(coreMessage); jmsMessages[i++] = jmsMessage; } return jmsMessages; } catch (HornetQException e) { throw new IllegalStateException(e.getMessage()); } }