.setReconnectAttemptsOnSameNode(reconnectAttemptsSameNode) .setUseDuplicateDetection(useDuplicateDetection) .setConfirmationWindowSize(confirmationWindowSize) .setProducerWindowSize(producerWindowSize) .setHA(ha)
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); }
.setReconnectAttemptsOnSameNode(reconnectAttemptsOnSameNode) .setUseDuplicateDetection(useDuplicateDetection) .setConfirmationWindowSize(confirmationWindowSize) .setProducerWindowSize(producerWindowSize) .setHA(ha)
.setReconnectAttemptsOnSameNode(reconnectAttemptsOnSameNode) .setUseDuplicateDetection(useDuplicateDetection) .setConfirmationWindowSize(confirmationWindowSize) .setProducerWindowSize(producerWindowSize) .setHA(ha)
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(); }
staticConnectors.add(server1tc.getName()); BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(staticConnectors);
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.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1); bridgeConfiguration.setReconnectAttempts(-1); servers[2].getConfiguration().getBridgeConfigurations().add(bridgeConfiguration);
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(connectorConfig);
.setForwardingAddress(destination.toString()) .setQueueName(source.toString()) .setConfirmationWindowSize(10) .setStaticConnectors(Arrays.asList("connector")));
BridgeConfiguration bridgeConfiguration = new BridgeConfiguration().setName("bridge1").setQueueName(queueName0).setForwardingAddress(forwardAddress).setRetryInterval(1000).setReconnectAttemptsOnSameNode(-1).setUseDuplicateDetection(false).setConfirmationWindowSize(numMessages * messageSize / 2).setStaticConnectors(connectorConfig);
bridgeConfiguration.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1); bridgeConfiguration.setReconnectAttempts(-1); servers[2].getConfiguration().getBridgeConfigurations().add(bridgeConfiguration);
bridgeConfiguration.setForwardingAddress(TARGET_QUEUE); bridgeConfiguration.setRetryInterval(100); bridgeConfiguration.setConfirmationWindowSize(1); bridgeConfiguration.setReconnectAttempts(-1); bridgeConfiguration.setReconnectAttemptsOnSameNode(retriesSameNode);
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(); }