@Test public void testHiddenInternalQueue() throws Exception { server.createQueue(queueName1, RoutingType.ANYCAST, queueName1, null, true, false, -1, false, true); String[] queues = serverControl.getQueueNames(); assertEquals(1, queues.length); for (String queue : queues) { assertFalse(checkQueueFromInternalAddress(queue)); } try (Connection connection = factory.createConnection()) { connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue(queueName1.toString()); //this causes advisory queues to be created session.createProducer(destination); queues = serverControl.getQueueNames(); boolean hasInternal = false; String targetQueue = null; for (String queue : queues) { hasInternal = checkQueueFromInternalAddress(queue); if (hasInternal) { targetQueue = queue; break; } } assertEquals("targetQueue: " + targetQueue, !useDefault && supportAdvisory && !suppressJmx, hasInternal); } }
@Test public void testGetQueueNamesWithRoutingType() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString anycastName = RandomUtil.randomSimpleString(); SimpleString multicastName = RandomUtil.randomSimpleString(); ActiveMQServerControl serverControl = createManagementControl(); // due to replication, there can be another queue created for replicating // management operations Assert.assertFalse(ActiveMQServerControlTest.contains(anycastName.toString(), serverControl.getQueueNames())); Assert.assertFalse(ActiveMQServerControlTest.contains(multicastName.toString(), serverControl.getQueueNames())); serverControl.createQueue(address.toString(), RoutingType.ANYCAST.toString(), anycastName.toString(), null, true, -1, false, true); Assert.assertTrue(ActiveMQServerControlTest.contains(anycastName.toString(), serverControl.getQueueNames(RoutingType.ANYCAST.toString()))); Assert.assertFalse(ActiveMQServerControlTest.contains(anycastName.toString(), serverControl.getQueueNames(RoutingType.MULTICAST.toString()))); serverControl.createQueue(address.toString(), RoutingType.MULTICAST.toString(), multicastName.toString(), null, true, -1, false, true); Assert.assertTrue(ActiveMQServerControlTest.contains(multicastName.toString(), serverControl.getQueueNames(RoutingType.MULTICAST.toString()))); Assert.assertFalse(ActiveMQServerControlTest.contains(multicastName.toString(), serverControl.getQueueNames(RoutingType.ANYCAST.toString()))); serverControl.destroyQueue(anycastName.toString()); serverControl.destroyQueue(multicastName.toString()); Assert.assertFalse(ActiveMQServerControlTest.contains(anycastName.toString(), serverControl.getQueueNames())); Assert.assertFalse(ActiveMQServerControlTest.contains(multicastName.toString(), serverControl.getQueueNames())); }
@Test public void testGetQueueNames() throws Exception { SimpleString address = RandomUtil.randomSimpleString(); SimpleString name = RandomUtil.randomSimpleString(); ActiveMQServerControl serverControl = createManagementControl(); // due to replication, there can be another queue created for replicating // management operations Assert.assertFalse(ActiveMQServerControlTest.contains(name.toString(), serverControl.getQueueNames())); serverControl.createAddress(address.toString(), "ANYCAST"); serverControl.createQueue(address.toString(), "ANYCAST", name.toString(), null, true, -1, false, false); Assert.assertTrue(ActiveMQServerControlTest.contains(name.toString(), serverControl.getQueueNames())); serverControl.destroyQueue(name.toString()); Assert.assertFalse(ActiveMQServerControlTest.contains(name.toString(), serverControl.getQueueNames())); }