【问题标题】:Don't pin jms groups to specific worker不要将 jms 组固定到特定的工作人员
【发布时间】:2014-08-15 22:34:31
【问题描述】:

更新:

我们从不同的测量站接收测量值,并将它们放入 jms 队列中进行处理。 现在我们使用jms分组,其中groupId是站的id,保证一个站的值是串行处理的。

只需查看文档中的库存样本:http://docs.jboss.org/hornetq/2.2.2.Final/user-manual/en/html/message-grouping.html

但是在 HornetQ(或者根本不是 jms)中,每个组都被固定到一个特定的工作人员。这意味着如果 A 组和 B 组被固定到 Worker X 并且队列中有 10 条 A 组消息和 10 条 B 组消息,则 B 组消息必须等到 A 组消息被处理。 (虽然有足够的空闲worker,现在可以处理B组消息)

有没有办法告诉 jms,不要将每个组固定到一个特定的工作人员,而只是确保每个组内的串行处理。

【问题讨论】:

    标签: java jakarta-ee jms hornetq


    【解决方案1】:

    JMS 队列确实会阻止并行处理。您是否确认不同的消费者处理相同的消息?每条消息是否都有唯一的 ID,并且您是否记录了处理的每条消息的 ID?

    从您给出的示例中,您似乎误用了 JMS 队列。您能否用更清晰、更深入的工作流程示例更新您的问题?

    现在就您的问题措辞而言,听起来您需要重新设计您的工作流程模型

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多