.setName(name) .setQueueName(queueName) .setForwardingAddress(forwardingAddress) .setFilterString(filterString) .setTransformerConfiguration(transformerConfiguration)
public enum QueueTextFormatter { Long { @Override StringBuilder format(Queue queue, StringBuilder output) { output.append("Queue [name=").append(queue.getName()); output.append(", address=").append(queue.getAddress()); output.append(", routingType=").append(queue.getRoutingType()); final Filter filter = queue.getFilter(); if (filter != null) { output.append(", filter=").append(filter.getFilterString()); } output.append(", durable=").append(queue.isDurable()); final int maxConsumers = queue.getMaxConsumers(); if (maxConsumers != Queue.MAX_CONSUMERS_UNLIMITED) { output.append(", maxConsumers=").append(queue.getMaxConsumers()); } output.append(", purgeOnNoConsumers=").append(queue.isPurgeOnNoConsumers()); output.append(", autoCreateAddress=").append(queue.isAutoCreated()); output.append(", exclusive=").append(queue.isExclusive()); output.append(", lastValue=").append(queue.isLastValue()); output.append(", lastValueKey=").append(queue.getLastValueKey()); output.append(", nonDestructive=").append(queue.isNonDestructive()); output.append(", consumersBeforeDispatch=").append(queue.getConsumersBeforeDispatch()); output.append(", delayBeforeDispatch=").append(queue.getDelayBeforeDispatch()); output.append(", autoCreateAddress=").append(queue.isAutoCreated()); output.append(']'); return output; } };
private BridgeConfiguration createBridgeConfig() { return new BridgeConfiguration().setName(bridgeName).setQueueName(queueName).setForwardingAddress(forwardAddress).setRetryInterval(retryInterval).setRetryIntervalMultiplier(retryIntervalMultiplier).setReconnectAttempts(reconnectAttempts).setReconnectAttemptsOnSameNode(0).setConfirmationWindowSize(confirmationWindowSize).setStaticConnectors(staticConnectors).setPassword(CLUSTER_PASSWORD); }
.setName(name) .setQueueName(queueName) .setForwardingAddress(forwardingAddress) .setFilterString(filterString) .setMinLargeMessageSize(minLargeMessageSize)
.setName(name) .setQueueName(queueName) .setForwardingAddress(forwardingAddress) .setFilterString(filterString) .setMinLargeMessageSize(minLargeMessageSize)
@Test public void testInjectedTransformer() throws Exception { final SimpleString ADDRESS = new SimpleString("myAddress"); final SimpleString QUEUE = new SimpleString("myQueue"); final String BRIDGE = "myBridge"; ServiceRegistryImpl serviceRegistry = new ServiceRegistryImpl(); Transformer transformer = new Transformer() { @Override public Message transform(Message message) { return null; } }; serviceRegistry.addBridgeTransformer(BRIDGE, transformer); Configuration config = createDefaultInVMConfig().addConnectorConfiguration("in-vm", new TransportConfiguration(INVM_CONNECTOR_FACTORY)); ActiveMQServer server = addServer(new ActiveMQServerImpl(config, null, null, null, serviceRegistry)); server.start(); server.waitForActivation(100, TimeUnit.MILLISECONDS); server.createQueue(ADDRESS, RoutingType.ANYCAST, QUEUE, null, false, false); List<String> connectors = new ArrayList<>(); connectors.add("in-vm"); server.deployBridge(new BridgeConfiguration().setName(BRIDGE).setQueueName(QUEUE.toString()).setForwardingAddress(ADDRESS.toString()).setStaticConnectors(connectors)); Bridge bridge = server.getClusterManager().getBridges().get(BRIDGE); assertNotNull(bridge); assertEquals(transformer, ((BridgeImpl) bridge).getTransformer()); }
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(connectorConfig);
staticConnectors.add(server1tc.getName()); BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setTransformerConfiguration(transformerConfiguration).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(1024).setStaticConnectors(staticConnectors);
@Override @Before public void setUp() throws Exception { super.setUp(); Map<String, Object> acceptorParams = new HashMap<>(); acceptorParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1); TransportConfiguration acceptorConfig = new TransportConfiguration(InVMAcceptorFactory.class.getName(), acceptorParams, RandomUtil.randomString()); TransportConfiguration connectorConfig = new TransportConfiguration(InVMConnectorFactory.class.getName(), acceptorParams, RandomUtil.randomString()); CoreQueueConfiguration sourceQueueConfig = new CoreQueueConfiguration().setAddress(RandomUtil.randomString()).setName(RandomUtil.randomString()).setDurable(false); CoreQueueConfiguration targetQueueConfig = new CoreQueueConfiguration().setAddress(RandomUtil.randomString()).setName(RandomUtil.randomString()).setDurable(false); List<String> connectors = new ArrayList<>(); connectors.add(connectorConfig.getName()); Configuration conf_1 = createBasicConfig().addAcceptorConfiguration(acceptorConfig).addQueueConfiguration(targetQueueConfig); bridgeConfig = new BridgeConfiguration().setName(RandomUtil.randomString()).setQueueName(sourceQueueConfig.getName()).setForwardingAddress(targetQueueConfig.getAddress()).setRetryInterval(RandomUtil.randomPositiveLong()).setRetryIntervalMultiplier(RandomUtil.randomDouble()).setInitialConnectAttempts(RandomUtil.randomPositiveInt()).setReconnectAttempts(RandomUtil.randomPositiveInt()).setReconnectAttemptsOnSameNode(RandomUtil.randomPositiveInt()).setUseDuplicateDetection(RandomUtil.randomBoolean()).setConfirmationWindowSize(RandomUtil.randomPositiveInt()).setStaticConnectors(connectors).setPassword(CLUSTER_PASSWORD); Configuration conf_0 = createBasicConfig().addAcceptorConfiguration(new TransportConfiguration(InVMAcceptorFactory.class.getName())).addConnectorConfiguration(connectorConfig.getName(), connectorConfig).addQueueConfiguration(sourceQueueConfig).addBridgeConfiguration(bridgeConfig); server_1 = addServer(ActiveMQServers.newActiveMQServer(conf_1, MBeanServerFactory.createMBeanServer(), false)); addServer(server_1); server_1.start(); server_0 = addServer(ActiveMQServers.newActiveMQServer(conf_0, mbeanServer, false)); addServer(server_0); server_0.start(); }
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(100).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(1024).setStaticConnectors(staticConnectors);
staticConnectors.add(server1tc.getName()); BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setTransformerConfiguration(new TransformerConfiguration(SimpleTransformer.class.getName())).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(1024).setStaticConnectors(staticConnectors);
@Override @Before public void setUp() throws Exception { super.setUp(); Map<String, Object> acceptorParams = new HashMap<>(); acceptorParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1); TransportConfiguration acceptorConfig = new TransportConfiguration(InVMAcceptorFactory.class.getName(), acceptorParams, RandomUtil.randomString()); TransportConfiguration connectorConfig = new TransportConfiguration(InVMConnectorFactory.class.getName(), acceptorParams, RandomUtil.randomString()); CoreQueueConfiguration sourceQueueConfig = new CoreQueueConfiguration().setAddress(RandomUtil.randomString()).setName(RandomUtil.randomString()).setDurable(false); CoreQueueConfiguration targetQueueConfig = new CoreQueueConfiguration().setAddress(RandomUtil.randomString()).setName(RandomUtil.randomString()).setDurable(false); List<String> connectors = new ArrayList<>(); connectors.add(connectorConfig.getName()); bridgeConfig = new BridgeConfiguration().setName(RandomUtil.randomString()).setQueueName(sourceQueueConfig.getName()).setForwardingAddress(targetQueueConfig.getAddress()).setRetryInterval(RandomUtil.randomPositiveLong()).setRetryIntervalMultiplier(RandomUtil.randomDouble()).setInitialConnectAttempts(RandomUtil.randomPositiveInt()).setReconnectAttempts(RandomUtil.randomPositiveInt()).setReconnectAttemptsOnSameNode(RandomUtil.randomPositiveInt()).setUseDuplicateDetection(RandomUtil.randomBoolean()).setConfirmationWindowSize(RandomUtil.randomPositiveInt()).setStaticConnectors(connectors); Configuration conf_1 = createBasicConfig().addAcceptorConfiguration(acceptorConfig).addQueueConfiguration(targetQueueConfig); Configuration conf_0 = createBasicConfig().addAcceptorConfiguration(new TransportConfiguration(INVM_ACCEPTOR_FACTORY)).addConnectorConfiguration(connectorConfig.getName(), connectorConfig).addQueueConfiguration(sourceQueueConfig).addBridgeConfiguration(bridgeConfig); server_1 = addServer(ActiveMQServers.newActiveMQServer(conf_1, MBeanServerFactory.createMBeanServer(), false)); server_1.start(); server_0 = addServer(ActiveMQServers.newActiveMQServer(conf_0, mbeanServer, false)); server_0.start(); }
bridgeConfiguration.setStaticConnectors(connectors); bridgeConfiguration.setQueueName(ORIGINAL_QUEUE); bridgeConfiguration.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1);
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(connectorConfig);
.setRoutingType(bridgeRoutingType) .setName("bridge") .setForwardingAddress(destination.toString()) .setQueueName(source.toString()) .setConfirmationWindowSize(10)
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(connectorConfig);
bridgeConfiguration.setStaticConnectors(connectors); bridgeConfiguration.setQueueName(ORIGINAL_QUEUE); bridgeConfiguration.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1);
bridgeConfiguration.setStaticConnectors(connectors); bridgeConfiguration.setQueueName(ORIGINAL_QUEUE); bridgeConfiguration.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1);
final long clientFailureCheckPeriod = 1000; BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName(bridgeName).setQueueName(queueName).setForwardingAddress(forwardAddress).setClientFailureCheckPeriod(clientFailureCheckPeriod).setRetryInterval(retryInterval).setRetryIntervalMultiplier(retryIntervalMultiplier).setReconnectAttempts(reconnectAttempts).setReconnectAttemptsOnSameNode(0).setConfirmationWindowSize(confirmationWindowSize).setStaticConnectors(staticConnectors).setPassword(CLUSTER_PASSWORD);
@Test(timeout = 60000) public void testCoreBridge() throws Exception { server.getRemotingService().createAcceptor("acceptor", "vm://0").start(); server.getConfiguration().addConnectorConfiguration("connector", "vm://0"); server.deployBridge(new BridgeConfiguration() .setName(getTestName()) .setQueueName(getQueueName()) .setForwardingAddress(getQueueName(1)) .setConfirmationWindowSize(10) .setStaticConnectors(Arrays.asList("connector"))); sendMessages(getQueueName(), 1); AmqpClient client = createAmqpClient(); AmqpConnection connection = addConnection(client.connect()); AmqpSession session = connection.createSession(); AmqpReceiver receiver = session.createReceiver(getQueueName(1)); Queue queueView = getProxyToQueue(getQueueName()); Wait.assertEquals(1, queueView::getConsumerCount); Wait.assertEquals(0, queueView::getMessageCount); queueView = getProxyToQueue(getQueueName(1)); Wait.assertEquals(1, queueView::getConsumerCount); Wait.assertEquals(1, queueView::getMessageCount); receiver.flow(1); AmqpMessage message = receiver.receive(5, TimeUnit.SECONDS); assertNotNull(message); message.accept(); receiver.close(); Wait.assertEquals(0, queueView::getMessageCount); connection.close(); }