我想要的是运行一个监听(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文档。
答案 0 :(得分:4)
要允许MDB的多个并发实例访问MQ队列管理器上的相同预订,您可以在MDB的激活规范中启用“允许克隆的持久预订”。
这样运行意味着MDB的两个实例都将启动(没有IN_USE错误),并且该单个订阅的每条消息都将由MDB的一个实例处理。您可以使用此工作负载平衡多个WAS服务器上的消息。
这仅适用于持久订阅。并且仅当MDB实例连接到同一队列管理器时。