Cómo compartir mensajes, publicados en el tema, entre varias máquinas virtuales, en Spring Jms Tibjms

Mi aplicación está consumiendo mensajes publicados en un tema. Tengo 3 servidores donde se está ejecutando mi código de aplicación. Con la implementación actual, los mensajes se distribuyen a todas las máquinas virtuales en ejecución, es decir, cada consumidor recibe una copia del mensaje.

Mi requisito es que cada consumidor debe recibir un mensaje distinto, es decir, no dos consumidores deben recibir el mismo mensaje.

Abajo están las bibliotecas que estoy usando:

spring jms 4.2.7Java jms 2.0tibco jms 8.0 wildfly-swarm como servidor

Actualmente tengo la siguiente configuración:

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);

Pero, no está haciendo lo que esperaba. Usando la configuración anterior, todos los consumidores reciben todos los mensajes.

Solo para agregar, he especificado el mismo DurableSubscriptionName pero un ClientId distinto en todas las instancias en ejecución.

¿Qué configuración me estoy perdiendo? ¿Alguien puede ayudar por favor? Muchas gracias de antemano. :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta