一个JMS消息由Message驱动的bean处理两次

时间:2017-03-14 10:51:12

标签: java ejb jms weblogic12c

问题:

Java'Message Driven Bean'的实例不止一次只在同一时间处理一条消息(放入JMS队列)。

如何通过“消息驱动Bean”确保只处理一条消息。

我已经在Weblogic 12c中部署了一个Java Message Driven Bean,如下所示。

MDB

grep

1 个答案:

答案 0 :(得分:1)

如果我们留在Message Driven领域,则取决于确认模式:AUTO_ACKNOWLEDGEDUPS_OK_ACKNOWLEDGE

如果您使用DUPS_OK_ACKNOWLEDGE,则会在稍后阶段将确认信息发送给客户。在这种情况下,消息可能会被处理两次。

使用AUTO_ACKNOWLEDGE,简化客户端(消息生成器)将被暂停,直到代理(消息使用者)确认已收到消息。这显然会使消息只处理一次。