【问题标题】:Implementing ActiveMQ's sticky sessions (message groups) in JMS queues在 JMS 队列中实现 ActiveMQ 的粘性会话(消息组)
【发布时间】:2011-12-01 04:23:24
【问题描述】:

我正在尝试脱离 ActiveMQ,但我们想要保留的一项功能是消息组。通过向 JMS 标头添加会话 ID,ActiveMQ 会将队列中具有相同 ID 的所有其他消息路由到同一消费者(我们的消费者可能在不同的机器上),从而允许接收者将一组消息视为一个工作单元。

我的第一个想法就是将会话置于 CLIENT_ACKNOWLEDGE 模式。我的想法是,如果消费者 A 查看标头并发现它不是它正在处理的 ID,那么它可以丢弃消息,而消费者 B 会捡起它。我遇到了几个问题,包括 ActiveMQ 的 prefecting,而且我读的越多,就越觉得这不是最初的设计目标。

我能想到的一个想法是有一个调度队列,然后将消息路由到每个消​​费者的,因为没有更好的词,子队列并自己管理将会话 ID 与子队列匹配。

在我走上这条路之前,我们对此持怀疑态度,因为它会给代码增加比我们想要的更多的复杂性,我对 CLIENT_ACKNOWLEDGE 有什么遗漏吗?还是我应该先尝试其他完全不同的东西?

【问题讨论】:

    标签: java queue jms


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 2018-07-04
    • 2017-08-22
    • 2013-08-24
    相关资源
    最近更新 更多