У меня есть издатель, который отправляет сообщения в тему. У меня есть несколько подписчиков, каждый из которых выполняет разные задачи, когда получает сообщение из темы. Теперь я хочу, чтобы моя система масштабировалась до нескольких экземпляров одного и того же процесса, запущенного на разных хостах / одном хосте. например Я хочу запустить несколько копий моего приложения A на разных хостах, чтобы, если один экземпляр A работает медленно, другие экземпляры могли загружать последующие сообщения и продвигаться вперед. Я выяснил, что это возможно с использованием виртуальных дестинаций. Я выполнил шаги здесь - http://activemq.apache.org/virtual-destinations.html
Но как мне настроить нескольких подписчиков на одну и ту же тему с одним и тем же идентификатором клиента? когда я пытаюсь это сделать, я получаю ошибки. когда я пробую другой способ, он не работает. может кто-нибудь помочь?
Обычно я запускаю подписчика, выполняя следующие шаги -
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER, ActiveMQConnection.DEFAULT_PASSWORD, ActiveMQConnection.DEFAULT_BROKER_URL;);
activeMQConnection = connectionFactory.createConnection();
activeMQConnection.setClientID("subscriber1");
activeMQConnection.setExceptionListener(exceptionListener);
activeMQSession = activeMQConnection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
activeMQTopic = activeMQSession.createTopic("myTopic");
activeConsumer = activeMQSession.createDurableSubscriber(activeMQTopic, "myTopic");
activeConsumer.setMessageListener(messageListener);
activeMQConnection.start();
, когда я пытаюсь создать второго подписчика и передать имя темы как «VirtualTopic.myTopic», ничего не происходит.
спасибо