docs.tibco.com/products/tibco-enterprise-message-service-8-3-0

риложение использует сообщения, опубликованные в теме. У меня есть 3 сервера, на которых выполняется код моего приложения. В текущей реализации сообщения рассылаются всем работающим виртуальным машинам, т. Е. Копия сообщения принимается каждым потребителем.

Мое требование состоит в том, чтобы каждый потребитель получал отдельное сообщение, то есть ни один потребитель не должен получать одно и то же сообщение.

Ниже приведены библиотеки, которые я использую:

пружина jms 4.2.7Java JMS 2.0Tibco JMS 8,0Wildfly-Swarm в качестве сервера

В настоящее время у меня есть следующая конфигурация:

TibjmsConnectionFactory factory = new TibjmsConnectionFactory("server-url");
factory.setUserName("username");
factory.setUserPassword("password");
factory.setClientID("clientId");

DefaultMessageListenerContainer listener = new DefaultMessageListenerContainer();
listener.setPubSubDomain(true);
listener.setMessageListener(myMessageListener);
listener.setDestination(new TibjmsTopic("topic"));
listener.setConnectionFactory(factory);
listener.setSessionTransacted(true);
listener.setSessionAutoAcknowledged(Session.CLIENT_ACKNOWLEDGE);
listener.setSubscriptionDurable(true);
listener.setDurableSubscriptionName("subscription");
listener.setSubscriptionShared(true);

Но он не делает то, что я ожидаю. Используя вышеуказанный конфиг, все потребители получают все сообщения.

Чтобы добавить, я указал тот же DurableSubscriptionName, но отдельный ClientId для всех запущенных экземпляров.

В какой конфигурации мне не хватает? Может кто-нибудь помочь, пожалуйста? Большое спасибо заранее. :)

Ответы на вопрос(1)

Ваш ответ на вопрос