我正在使用分布式 jms 队列,weblogic 是我的应用服务器。我的集群环境中部署了三个 jms 服务器。例如,生产者只需使用队列 jndi 查找 'udq' 的名称发送消息。现在我已经为每个 jms 服务器关联了一个消费者,并且我能够使用该消息,到目前为止没有问题。
这是一个问题,我可以让一个消费者来使用来自 3 个 jms 服务器的消息吗?weblogic 允许使用以下语法为目标查找命名 jndi @
qsession1 = qcon1.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
qsession2 = qcon2.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
qsession3 = qcon3.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queue1 = (Queue)ctx.lookup("JMSServer-1@UDQ");
queue2 = (Queue)ctx.lookup("JMSServer-2@UDQ");
queue3 = (Queue)ctx.lookup("JMSServer-3@UDQ");
qreceiver1 = qsession1.createReceiver(queue1);
qreceiver2 = qsession2.createReceiver(queue2);
qreceiver3 = qsession3.createReceiver(queue3);
qreceiver1.setMessageListener(this);
qreceiver2.setMessageListener(this);
qreceiver3.setMessageListener(this);
qcon1.start();
qcon2.start();
qcon3.start();
我只为上述消费者实现了一个 OnMessage。这不起作用。有什么建议请..