gemmellr commented on code in PR #4183:
URL: https://github.com/apache/activemq-artemis/pull/4183#discussion_r995931467
##########
tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java:
##########
@@ -4023,6 +4565,114 @@ public void testListProducers() throws Exception {
}
}
+ @Test
+ public void testListProducersMessageCounts() throws Exception {
+ SimpleString queueName1 = new SimpleString("my_queue_one");
+ SimpleString addressName1 = new SimpleString("my_address_one");
+
+ ActiveMQServerControl serverControl = createManagementControl();
+
+ server.addAddressInfo(new AddressInfo(addressName1,
RoutingType.ANYCAST));
+ if (legacyCreateQueue) {
+ server.createQueue(addressName1, RoutingType.ANYCAST, queueName1,
null, false, false);
+ } else {
+ server.createQueue(new
QueueConfiguration(queueName1).setAddress(addressName1).setRoutingType(RoutingType.ANYCAST).setDurable(false));
+ }
+
+ int numMessages = 10;
+
+
+ // create some consumers
+ try (ServerLocator locator = createInVMNonHALocator();
ClientSessionFactory csf = createSessionFactory(locator);) {
+
+ ClientSession session1 = csf.createSession();
+
+ ClientProducer producer1 = session1.createProducer(addressName1);
+ int messagesSize = 0;
+ for (int i = 0; i < numMessages; i++) {
+ ClientMessage message = session1.createMessage(true);
+ producer1.send(message);
+ messagesSize += message.getEncodeSize();
+ }
+ //bring back all producers
+ String filterString = createJsonFilter("", "", "");
+ String producersAsJsonString =
serverControl.listProducers(filterString, 1, 50);
+ JsonObject producersAsJsonObject =
JsonUtil.readJsonObject(producersAsJsonString);
+ JsonArray array = (JsonArray) producersAsJsonObject.get("data");
+
+ Assert.assertEquals("number of producers returned from query", 1,
array.size());
+
+ JsonObject jsonSession = array.getJsonObject(0);
+
+ //check all fields
+ Assert.assertNotEquals(ProducerField.ID.getName(), "",
jsonSession.getString(ProducerField.ID.getName()));
+ Assert.assertNotEquals(ProducerField.SESSION.getName(), "",
jsonSession.getString(ProducerField.SESSION.getName()));
+ Assert.assertEquals(ProducerField.CLIENT_ID.getName(), "",
jsonSession.getString(ProducerField.CLIENT_ID.getName()));
+ Assert.assertEquals(ProducerField.USER.getName(), "",
jsonSession.getString(ProducerField.USER.getName()));
+ Assert.assertNotEquals(ProducerField.PROTOCOL.getAlternativeName(),
"", jsonSession.getString(ProducerField.PROTOCOL.getName()));
+ Assert.assertEquals(ProducerField.ADDRESS.getName(),
addressName1.toString(),
jsonSession.getString(ProducerField.ADDRESS.getName()));
+ Assert.assertNotEquals(ProducerField.LOCAL_ADDRESS.getName(), "",
jsonSession.getString(ProducerField.LOCAL_ADDRESS.getName()));
+ Assert.assertNotEquals(ProducerField.REMOTE_ADDRESS.getName(), "",
jsonSession.getString(ProducerField.REMOTE_ADDRESS.getName()));
+ Assert.assertNotEquals(ProducerField.CREATION_TIME.getName(), "",
jsonSession.getString(ProducerField.CREATION_TIME.getName()));
+ Assert.assertEquals(ProducerField.MESSAGE_SENT.getName(),
numMessages, jsonSession.getInt(ProducerField.MESSAGE_SENT.getName()));
+ Assert.assertEquals(ProducerField.MESSAGE_SENT_SIZE.getName(),
messagesSize, jsonSession.getInt(ProducerField.MESSAGE_SENT_SIZE.getName()));
+ Assert.assertEquals(ProducerField.LAST_UUID_SENT.getName(), "",
jsonSession.getString(ProducerField.LAST_UUID_SENT.getName()));
+ }
+ }
+
+ @Test
+ public void testListProducersMessageCounts2() throws Exception {
+ SimpleString queueName1 = new SimpleString("my_queue_one");
+ SimpleString addressName1 = new SimpleString("my_address_one");
+
+ ActiveMQServerControl serverControl = createManagementControl();
+
+ server.addAddressInfo(new AddressInfo(addressName1,
RoutingType.ANYCAST));
+ if (legacyCreateQueue) {
+ server.createQueue(addressName1, RoutingType.ANYCAST, queueName1,
null, false, false);
+ } else {
+ server.createQueue(new
QueueConfiguration(queueName1).setAddress(addressName1).setRoutingType(RoutingType.ANYCAST).setDurable(false));
+ }
+
+ int numMessages = 10;
+
+
+ // create some consumers
+ try (ServerLocator locator = createInVMNonHALocator();
ClientSessionFactory csf = createSessionFactory(locator);) {
+
+ ClientSession session1 = csf.createSession();
+
+ ClientProducer producer1 = session1.createProducer(addressName1);
+ int messagesSize = 0;
+ for (int i = 0; i < numMessages; i++) {
+ ClientMessage message = session1.createMessage(true);
+ producer1.send(message);
+ messagesSize += message.getEncodeSize();
+ }
+ //bring back all producers
+ String producersAsJsonString =
serverControl.listProducersInfoAsJSON();
+ JsonArray jsonArray = JsonUtil.readJsonArray(producersAsJsonString);
+
+ JsonObject jsonSession = jsonArray.getJsonObject(0);
+
+ System.out.println("jsonSession = " + jsonSession);
Review Comment:
git push :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]