主题消息驱动Bean如何在Websphere 8.5.5集群环境中运行

时间:2015-09-11 08:14:04

标签: websphere ibm-mq jms-topic

我想要的是运行一个监听(Websphere MQ7)主题的消息驱动Bean。我想在包含两个集群成员的Websphere 8.5.5集群上部署我的应用程序。

如果主题的消息到达,我希望我的两个MDB中只有一个获取消息并处理它。

IBM声明我应该设置相同的ClientIds和Subscription Names,以确保只有一个实例能够处理主题上的消息: http://www-01.ibm.com/support/docview.wss?uid=swg21442559

第二个MDB是否会收到提到的MQRC_SUBSCRIPTION_IN_USE异常,或者群集是否会注意群集中只有一个MDB会使用主题消息?

也许有人可以将我指向定义此行为的IBM文档。

1 个答案:

答案 0 :(得分:4)

要允许MDB的多个并发实例访问MQ队列管理器上的相同预订,您可以在MDB的激活规范中启用“允许克隆的持久预订”。

https://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/umj_pasm.html

这样运行意味着MDB的两个实例都将启动(没有IN_USE错误),并且该单个订阅的每条消息都将由MDB的一个实例处理。您可以使用此工作负载平衡多个WAS服务器上的消息。

这仅适用于持久订阅。并且仅当MDB实例连接到同一队列管理器时。