@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; }
context.getResult().set(control.getScheduledCount()); } else if (CommonAttributes.CONSUMER_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getConsumerCount()); } else if (CommonAttributes.DELIVERING_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getDeliveringCount());
context.getResult().set(control.getScheduledCount()); } else if (CommonAttributes.CONSUMER_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getConsumerCount()); } else if (CommonAttributes.DELIVERING_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getDeliveringCount());
context.getResult().set(control.getScheduledCount()); } else if (CONSUMER_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getConsumerCount()); } else if (DELIVERING_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getDeliveringCount());
@Test public void testGetConsumerCount() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); Assert.assertEquals(0, queueControl.getConsumerCount()); ClientConsumer consumer = session.createConsumer(queue); Assert.assertEquals(1, queueControl.getConsumerCount()); consumer.close(); Assert.assertEquals(0, queueControl.getConsumerCount()); session.deleteQueue(queue); }
context.getResult().set(control.getScheduledCount()); } else if (CONSUMER_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getConsumerCount()); } else if (DELIVERING_COUNT.getName().equals(attributeName)) { context.getResult().set(control.getDeliveringCount());
@Test public void testGetConsumerJSON() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); Assert.assertEquals(0, queueControl.getConsumerCount()); ClientConsumer consumer = session.createConsumer(queue); Assert.assertEquals(1, queueControl.getConsumerCount()); System.out.println("Consumers: " + queueControl.listConsumersAsJSON()); JsonArray obj = JsonUtil.readJsonArray(queueControl.listConsumersAsJSON()); assertEquals(1, obj.size()); consumer.close(); Assert.assertEquals(0, queueControl.getConsumerCount()); obj = JsonUtil.readJsonArray(queueControl.listConsumersAsJSON()); assertEquals(0, obj.size()); session.deleteQueue(queue); }
Thread.sleep(200); Assert.assertEquals(0, queueControl.getMessageCount()); Assert.assertEquals(0, queueControl.getConsumerCount()); Assert.assertEquals(0, queueControl.getDeliveringCount()); Assert.assertEquals(THREAD_COUNT * MSG_COUNT, queueControl.getMessagesAdded());
return queue.isPurgeOnNoConsumers(); case "consumerCount": return queue.getConsumerCount(); case "maxConsumers": return queue.getMaxConsumers();
@Test public void testTotalConsumerCount() throws Exception { String random1 = RandomUtil.randomString(); String random2 = RandomUtil.randomString(); ActiveMQServerControl serverControl = createManagementControl(); QueueControl queueControl1 = ManagementControlHelper.createQueueControl(SimpleString.toSimpleString(random1), SimpleString.toSimpleString(random1), RoutingType.ANYCAST, mbeanServer); QueueControl queueControl2 = ManagementControlHelper.createQueueControl(SimpleString.toSimpleString(random2), SimpleString.toSimpleString(random2), RoutingType.ANYCAST, mbeanServer); ServerLocator locator = createInVMNonHALocator(); ClientSessionFactory csf = createSessionFactory(locator); ClientSession session = csf.createSession(); session.createQueue(random1, RoutingType.ANYCAST, random1); session.createQueue(random2, RoutingType.ANYCAST, random2); ClientConsumer consumer1 = session.createConsumer(random1); ClientConsumer consumer2 = session.createConsumer(random2); assertEquals(usingCore() ? 3 : 2, serverControl.getTotalConsumerCount()); assertEquals(1, queueControl1.getConsumerCount()); assertEquals(1, queueControl2.getConsumerCount()); consumer1.close(); consumer2.close(); session.deleteQueue(random1); session.deleteQueue(random2); session.close(); locator.close(); }
return matches(queue.getMessageCount()); case CONSUMER_COUNT: return matches(queue.getConsumerCount()); case DELIVERING_COUNT: return matches(queue.getDeliveringCount());
@Test public void testResetGroups() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString queue = RandomUtil.randomSimpleString(); session.createQueue(address, RoutingType.MULTICAST, queue, null, durable); QueueControl queueControl = createManagementControl(address, queue); ClientConsumer consumer = session.createConsumer(queue); Assert.assertEquals(1, queueControl.getConsumerCount()); consumer.setMessageHandler(new MessageHandler() { @Override public void onMessage(ClientMessage message) { System.out.println(message); } }); session.start(); ClientProducer producer = session.createProducer(address); producer.send(session.createMessage(durable).putStringProperty(Message.HDR_GROUP_ID, "group1")); producer.send(session.createMessage(durable).putStringProperty(Message.HDR_GROUP_ID, "group2")); producer.send(session.createMessage(durable).putStringProperty(Message.HDR_GROUP_ID, "group3")); Wait.assertEquals(3, () -> getGroupCount(queueControl)); queueControl.resetGroup("group1"); Wait.assertEquals(2, () -> getGroupCount(queueControl)); producer.send(session.createMessage(durable).putStringProperty(Message.HDR_GROUP_ID, "group1")); Wait.assertEquals(3, () -> getGroupCount(queueControl)); queueControl.resetAllGroups(); Wait.assertEquals(0, () -> getGroupCount(queueControl)); consumer.close(); session.deleteQueue(queue); }