Websphere消息队列多线程

时间:2017-01-25 05:59:24

标签: java jms ibm-mq mq

我们是后端处理器并使用JMS MQ进行编程。我们有2个队列。一个用于获取消息,另一个用于发送消息。所有银行用户都会通过他们的IB,MB等将消息发送到Q1。我们从Q1接收消息并处理它,然后我们向Q2发送消息。

目前我们不使用多线程。我们能否为此使用多线程或单线程就足够了。因为我们逐个从Q1获取消息并进行处理。

如果问题不明白,请回复我。请有人帮助我。

1 个答案:

答案 0 :(得分:5)

是的,JMS允许同一队列中有多个读者。您可以通过多线程,多个应用程序实例或提取消息然后通过回调或其他机制将它们传递给处理程序的调度层来执行此操作。

然而,应用程序必须支持这一点。例如,如果两个消息相关且必须按顺序处理,则如果队列中有多个侦听器,则不会保留顺序。这就是为什么异步消息传递模式强烈希望消息不具有顺序依赖性或亲和性的原因之一。

如果使用多线程,请务必保留事务性。如果多个线程使用相同的连接,并且一个发出COMMIT,则会在共享该连接的所有线程中提交所有未完成的消息。