как создать несколько экземпляров подписчиков темы activemq с помощью виртуальных назначений?

У меня есть издатель, который отправляет сообщения в тему. У меня есть несколько подписчиков, каждый из которых выполняет разные задачи, когда получает сообщение из темы. Теперь я хочу, чтобы моя система масштабировалась до нескольких экземпляров одного и того же процесса, запущенного на разных хостах / одном хосте. например Я хочу запустить несколько копий моего приложения 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», ничего не происходит.

спасибо

5
задан T Vinod Gupta 2 January 2012 в 23:22
поделиться