Weblogic JMS工作单元 - 消息组

时间:2014-09-11 16:26:36

标签: jms weblogic messaging

我正在使用Weblogic JMS。我想做的是:

a)生产者A生成JMS消息并将它们放在队列(groupA)上 b)当处理来自groupA的每条消息时,我想生成另一条消息(groupB)

我有16名工人来处理这些消息。

现在,我如何确保来自groupA的所有邮件将在来自groupB的任何邮件之前处理?

1 个答案:

答案 0 :(得分:1)

这里有点晚了,但希望这可以帮助任何有同样问题的人。 GroupA实际上是一个中间目的地。 JMS队列在Pass-Through设置中应具有默认值Unit-of-Work (UOW) Message Handling Policy。当您的MDB处理这些消息时,它需要获取工作单元jms属性并在为GroupB发送的新消息上重置它们。此jms队列应将Unit-of-Work (UOW) Message Handling Policy设置为Single Message Delivery。当在该jms队列上接收到消息时,它们将不被处理,直到存在工作单元的所有消息,即所有序列号1,2,3等和消息标识符的结尾。一旦它们全部存在,mdb将使用它们作为1个对象消息,并且各个消息将包含在List中。然后,您需要编写代码来迭代列表并根据需要进行处理。

Weblogic Docs here