context.getResult().set(control.getMessageCount()); } catch (RuntimeException e) { throw e;
context.getResult().set(control.getMessageCount()); } catch (RuntimeException e) { throw e;
@Test(timeout = 60000) public void testAddressControlSendMessageWithText() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); server.createQueue(address, RoutingType.ANYCAST, address, null, true, false); AddressControl addressControl = ManagementControlHelper.createAddressControl(address, mBeanServer); Assert.assertEquals(1, addressControl.getQueueNames().length); addressControl.sendMessage(null, org.apache.activemq.artemis.api.core.Message.TEXT_TYPE, "test", false, fullUser, fullPass); Wait.assertEquals(1, addressControl::getMessageCount); Assert.assertEquals(1, addressControl.getMessageCount()); Connection connection = createConnection("myClientId"); try { Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); javax.jms.Queue queue = session.createQueue(address.toString()); MessageConsumer consumer = session.createConsumer(queue); Message message = consumer.receive(500); assertNotNull(message); String text = ((TextMessage) message).getText(); assertEquals("test", text); session.close(); connection.close(); } finally { if (connection != null) { connection.close(); } } }
@Test public void testGetMessageCount() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); session.createAddress(address, RoutingType.ANYCAST, false); AddressControl addressControl = createManagementControl(address); assertEquals(0, addressControl.getMessageCount()); ClientProducer producer = session.createProducer(address.toString()); producer.send(session.createMessage(false)); assertEquals(0, addressControl.getMessageCount()); session.createQueue(address, RoutingType.ANYCAST, address); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getMessageCount() == 1, 2000, 100)); session.createQueue(address, RoutingType.ANYCAST, address.concat('2')); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getMessageCount() == 2, 2000, 100)); }
Wait.waitFor(() -> addressControl.getMessageCount() == 0); assertNotNull("addressControl for temp advisory", addressControl); Wait.assertEquals(0, addressControl::getMessageCount);
@Test public void testSendMessage() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); session.createAddress(address, RoutingType.ANYCAST, false); AddressControl addressControl = createManagementControl(address); Assert.assertEquals(0, addressControl.getQueueNames().length); session.createQueue(address, RoutingType.ANYCAST, address); Assert.assertEquals(1, addressControl.getQueueNames().length); addressControl.sendMessage(null, Message.BYTES_TYPE, Base64.encodeBytes("test".getBytes()), false, null, null); Wait.waitFor(() -> addressControl.getMessageCount() == 1); Assert.assertEquals(1, addressControl.getMessageCount()); ClientConsumer consumer = session.createConsumer(address); ClientMessage message = consumer.receive(500); assertNotNull(message); byte[] buffer = new byte[message.getBodyBuffer().readableBytes()]; message.getBodyBuffer().readBytes(buffer); assertEquals("test", new String(buffer)); }
@Test public void testGetRoutedMessageCounts() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); session.createAddress(address, RoutingType.ANYCAST, false); AddressControl addressControl = createManagementControl(address); assertEquals(0, addressControl.getMessageCount()); ClientProducer producer = session.createProducer(address.toString()); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getRoutedMessageCount() == 0, 2000, 100)); assertTrue(Wait.waitFor(() -> addressControl.getUnRoutedMessageCount() == 1, 2000, 100)); session.createQueue(address, RoutingType.ANYCAST, address); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getRoutedMessageCount() == 1, 2000, 100)); assertTrue(Wait.waitFor(() -> addressControl.getUnRoutedMessageCount() == 1, 2000, 100)); session.createQueue(address, RoutingType.ANYCAST, address.concat('2')); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getRoutedMessageCount() == 2, 2000, 100)); assertTrue(Wait.waitFor(() -> addressControl.getUnRoutedMessageCount() == 1, 2000, 100)); session.deleteQueue(address); session.deleteQueue(address.concat('2')); producer.send(session.createMessage(false)); assertTrue(Wait.waitFor(() -> addressControl.getRoutedMessageCount() == 2, 2000, 100)); assertTrue(Wait.waitFor(() -> addressControl.getUnRoutedMessageCount() == 2, 2000, 100)); }