@Override public void activated() { try { ActiveMQServer usedServer = messagingServer; if (usedServer != null) { usedServer.addAddressInfo(new AddressInfo(managementNotificationAddress, RoutingType.MULTICAST)); } } catch (Exception e) { ActiveMQServerLogger.LOGGER.unableToCreateManagementNotificationAddress(managementNotificationAddress, e); } } });
@Override protected void createAddressAndQueues(ActiveMQServer server) throws Exception { super.createAddressAndQueues(server); server.addAddressInfo(new AddressInfo(INITIAL_QUEUE_SS, RoutingType.ANYCAST)); server.createQueue(INITIAL_QUEUE_SS, RoutingType.ANYCAST, INITIAL_QUEUE_SS, null, true, false, -1, false, true); server.addAddressInfo(new AddressInfo(FINAL_QUEUE_SS, RoutingType.ANYCAST)); server.createQueue(FINAL_QUEUE_SS, RoutingType.ANYCAST, FINAL_QUEUE_SS, null, true, false, -1, false, true); }
@Test public void testFailDeleteAddressWhenExistsQueues() throws Exception { final String addressName = "address"; final SimpleString addressSimpleString = new SimpleString(addressName); final AddressInfo addressInfo = new AddressInfo(addressSimpleString, EnumSet.of(RoutingType.ANYCAST, RoutingType.MULTICAST)); server.addAddressInfo(addressInfo); server.createQueue(addressSimpleString, RoutingType.MULTICAST, new SimpleString("queue1"), null, true, false); final DeleteAddress deleteAddress = new DeleteAddress(); deleteAddress.setName(addressName); deleteAddress.execute(new ActionContext(System.in, new PrintStream(output), new PrintStream(error))); checkExecutionFailure(deleteAddress, "Address " + addressName + " has bindings"); }
@Override @Before public void setUp() throws Exception { super.setUp(); AddressInfo addressInfo = new AddressInfo(new SimpleString("p.IN"), RoutingType.MULTICAST); this.server.addAddressInfo(addressInfo); addressInfo = new AddressInfo(new SimpleString("q.IN"), RoutingType.MULTICAST); this.server.addAddressInfo(addressInfo); }
@Test public void testFailUpdateAddressRoutingTypesWhenExistsQueues() throws Exception { final String addressName = "address"; final SimpleString addressSimpleString = new SimpleString(addressName); final AddressInfo addressInfo = new AddressInfo(addressSimpleString, EnumSet.of(RoutingType.ANYCAST, RoutingType.MULTICAST)); server.addAddressInfo(addressInfo); server.createQueue(addressSimpleString, RoutingType.MULTICAST, new SimpleString("queue1"), null, true, false); final UpdateAddress updateAddress = new UpdateAddress(); updateAddress.setName(addressName); updateAddress.setAnycast(true); updateAddress.setMulticast(false); updateAddress.execute(new ActionContext(System.in, new PrintStream(output), new PrintStream(error))); final String expectedErrorMessage = MessageFormat.format("Can''t remove routing type {0}, queues exists for address: {1}. Please delete queues before removing this routing type.", RoutingType.MULTICAST, addressName); checkExecutionFailure(updateAddress, expectedErrorMessage); }
@Test public void testAddressQueryOnStaticAddressWithFQQN() throws Exception { SimpleString addressName = SimpleString.toSimpleString(UUID.randomUUID().toString()); SimpleString fqqn = addressName.concat("::").concat(SimpleString.toSimpleString(UUID.randomUUID().toString())); server.addAddressInfo(new AddressInfo(fqqn)); assertEquals(addressName, server.addressQuery(addressName).getName()); assertEquals(addressName, server.addressQuery(fqqn).getName()); }
@Override protected void createAddressAndQueues(ActiveMQServer server) throws Exception { super.createAddressAndQueues(server); //Add Standard Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NORMAL_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NORMAL_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NORMAL_QUEUE_NAME), null, true, false, -1, false, true); //Add LVQ using Default Message.HDR_LAST_VALUE_NAME server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(LVQ_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(LVQ_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(LVQ_QUEUE_NAME), null, true, false, -1, false, true); //Add LVQ using Custom Key server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(LVQ_CUSTOM_KEY_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(LVQ_CUSTOM_KEY_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(LVQ_CUSTOM_KEY_QUEUE_NAME), null, true, false, -1, false, true); }
@Test public void testUpdateAddressRoutingTypes() throws Exception { final String addressName = "address"; final SimpleString address = new SimpleString(addressName); server.addAddressInfo(new AddressInfo(address, RoutingType.ANYCAST)); final UpdateAddress updateAddress = new UpdateAddress(); updateAddress.setName(addressName); updateAddress.setAnycast(true); updateAddress.setMulticast(true); updateAddress.execute(new ActionContext(System.in, new PrintStream(output), new PrintStream(error))); checkExecutionPassed(updateAddress); final AddressInfo addressInfo = server.getAddressInfo(address); assertNotNull(addressInfo); assertEquals(EnumSet.of(RoutingType.ANYCAST, RoutingType.MULTICAST), addressInfo.getRoutingTypes()); }
@Override protected void createAddressAndQueues(ActiveMQServer server) throws Exception { super.createAddressAndQueues(server); //Add Standard Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NORMAL_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NORMAL_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NORMAL_QUEUE_NAME), null, true, false, -1, false, true); }
@Override protected void createAddressAndQueues(ActiveMQServer server) throws Exception { super.createAddressAndQueues(server); //Add Non Destructive Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NON_DESTRUCTIVE_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NON_DESTRUCTIVE_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NON_DESTRUCTIVE_QUEUE_NAME), null, true, false, -1, false, true); //Add Non Destructive Expiry Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME), null, true, false, -1, false, true); //Add Non Destructive Last Value Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NON_DESTRUCTIVE_LVQ_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NON_DESTRUCTIVE_LVQ_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NON_DESTRUCTIVE_LVQ_QUEUE_NAME), null, true, false, -1, false, true); //Add Non Destructive Last Value Queue for Tombstone Test server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(NON_DESTRUCTIVE_TOMBSTONE_LVQ_QUEUE_NAME), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(NON_DESTRUCTIVE_TOMBSTONE_LVQ_QUEUE_NAME), RoutingType.ANYCAST, SimpleString.toSimpleString(NON_DESTRUCTIVE_TOMBSTONE_LVQ_QUEUE_NAME), null, true, false, -1, false, true); }
@Before public void createQueue() throws Exception { server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString("queue1"), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString("queue1"), RoutingType.ANYCAST, SimpleString.toSimpleString("queue1"), null, true, false); }
@Test public void testAddressQueryDefaultsOnStaticAddress() throws Exception { SimpleString addressName = SimpleString.toSimpleString(UUID.randomUUID().toString()); server.addAddressInfo(new AddressInfo(addressName)); AddressQueryResult addressQueryResult = server.addressQuery(addressName); assertTrue(addressQueryResult.isExists()); assertFalse(addressQueryResult.getRoutingTypes().contains(RoutingType.ANYCAST)); assertFalse(addressQueryResult.getRoutingTypes().contains(RoutingType.MULTICAST)); assertEquals(addressName, addressQueryResult.getName()); assertTrue(addressQueryResult.isAutoCreateAddresses()); assertEquals(-1, addressQueryResult.getDefaultMaxConsumers()); assertFalse(addressQueryResult.isAutoCreated()); assertFalse(addressQueryResult.isDefaultPurgeOnNoConsumers()); }
protected void createAddressAndQueues(ActiveMQServer server) throws Exception { // Default Queue server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(getQueueName()), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(getQueueName()), RoutingType.ANYCAST, SimpleString.toSimpleString(getQueueName()), null, true, false, -1, false, true); // Default DLQ server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(getDeadLetterAddress()), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(getDeadLetterAddress()), RoutingType.ANYCAST, SimpleString.toSimpleString(getDeadLetterAddress()), null, true, false, -1, false, true); // Default Topic server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(getTopicName()), RoutingType.MULTICAST)); server.createQueue(SimpleString.toSimpleString(getTopicName()), RoutingType.MULTICAST, SimpleString.toSimpleString(getTopicName()), null, true, false, -1, false, true); // Additional Test Queues for (int i = 0; i < getPrecreatedQueueSize(); ++i) { server.addAddressInfo(new AddressInfo(SimpleString.toSimpleString(getQueueName(i)), RoutingType.ANYCAST)); server.createQueue(SimpleString.toSimpleString(getQueueName(i)), RoutingType.ANYCAST, SimpleString.toSimpleString(getQueueName(i)), null, true, false, -1, false, true); } }
@Test public void testAddressQueryNonDefaultsOnStaticAddress() throws Exception { SimpleString addressName = SimpleString.toSimpleString(UUID.randomUUID().toString()); server.getAddressSettingsRepository().addMatch(addressName.toString(), new AddressSettings().setAutoCreateAddresses(false).setDefaultMaxConsumers(1).setDefaultPurgeOnNoConsumers(true)); server.addAddressInfo(new AddressInfo(addressName).addRoutingType(RoutingType.ANYCAST)); AddressQueryResult addressQueryResult = server.addressQuery(addressName); assertTrue(addressQueryResult.isExists()); assertTrue(addressQueryResult.getRoutingTypes().contains(RoutingType.ANYCAST)); assertFalse(addressQueryResult.getRoutingTypes().contains(RoutingType.MULTICAST)); assertEquals(addressName, addressQueryResult.getName()); assertFalse(addressQueryResult.isAutoCreateAddresses()); assertEquals(1, addressQueryResult.getDefaultMaxConsumers()); assertFalse(addressQueryResult.isAutoCreated()); assertTrue(addressQueryResult.isDefaultPurgeOnNoConsumers()); }
@Test(timeout = 60000) public void testConsumeWhenOnlyAnycast() throws Exception { server.addAddressInfo(new AddressInfo(address, RoutingType.ANYCAST)); sendMessages(address.toString(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); Source jmsSource = createJmsSource(true); jmsSource.setAddress(address.toString()); try { session.createReceiver(jmsSource); fail("should throw exception"); } catch (Exception e) { //ignore } connection.close(); }
@Test public void testWithoutBlackWhiteListTopic() throws Exception { jmsServer.getActiveMQServer().addAddressInfo(new AddressInfo(SimpleString.toSimpleString("ordersTopic"), RoutingType.MULTICAST)); deployAndconfigureRESTService("rest-test.war"); RestMessageContext topicContext = restConnection.createTopicContext("ordersTopic"); topicContext.initPullConsumers(); Order order = new Order(); order.setName("Bill"); order.setItem("iPhone4"); order.setAmount("$199.99"); jmsSendMessage(order, "ordersTopic", false); String received = topicContext.pullMessage(); Object object = xmlToObject(received); assertEquals(order, object); }
@Test(timeout = 60000) public void testConsumeFromSingleQueueOnAddressSameName() throws Exception { server.addAddressInfo(new AddressInfo(address, RoutingType.ANYCAST)); server.createQueue(address, RoutingType.ANYCAST, address, null, true, false); sendMessages(address.toString(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); AmqpReceiver receiver = session.createReceiver(address.toString()); receiver.flow(1); AmqpMessage amqpMessage = receiver.receive(5, TimeUnit.SECONDS); assertNotNull(amqpMessage); assertEquals(1, ((QueueImpl)server.getPostOffice().getBinding(address).getBindable()).getConsumerCount()); receiver.close(); connection.close(); }
@Test(timeout = 60000) public void testConsumeFromSingleQualifiedQueueOnAddressSameName() throws Exception { server.addAddressInfo(new AddressInfo(address, RoutingType.ANYCAST)); server.createQueue(address, RoutingType.ANYCAST, queue1, null, true, false); sendMessages(address.toString(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); AmqpReceiver receiver = session.createReceiver(address.toString() + "::" + queue1.toString()); receiver.flow(1); AmqpMessage amqpMessage = receiver.receive(5, TimeUnit.SECONDS); assertNotNull(amqpMessage); assertEquals(1, ((QueueImpl)server.getPostOffice().getBinding(queue1).getBindable()).getConsumerCount()); receiver.close(); connection.close(); }
@Test(timeout = 60000) public void testConsumeFromSingleQueueOnAddressDifferentName() throws Exception { server.addAddressInfo(new AddressInfo(address, RoutingType.ANYCAST)); server.createQueue(address, RoutingType.ANYCAST, queue1, null, true, false); sendMessages(address.toString(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); AmqpReceiver receiver = session.createReceiver(address.toString()); receiver.flow(1); AmqpMessage amqpMessage = receiver.receive(5, TimeUnit.SECONDS); assertNotNull(amqpMessage); assertEquals(1, ((QueueImpl)server.getPostOffice().getBinding(queue1).getBindable()).getConsumerCount()); receiver.close(); connection.close(); }
@Test(timeout = 60000) public void testConsumeFromSingleQueueOnAddressSameName() throws Exception { server.addAddressInfo(new AddressInfo(address, RoutingType.MULTICAST)); server.createQueue(address, RoutingType.MULTICAST, address, null, true, false); sendMessages(address.toString(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); AmqpReceiver receiver = session.createReceiver(address.toString() + "::" + address.toString()); receiver.flow(1); AmqpMessage amqpMessage = receiver.receive(5, TimeUnit.SECONDS); assertNotNull(amqpMessage); assertEquals(1, ((QueueImpl)server.getPostOffice().getBinding(address).getBindable()).getConsumerCount()); receiver.close(); connection.close(); }