2

我正在尝试找到一个支持持久订阅者的消息总线提供程序,并允许我根据消息时间戳按顺序重播给定主题的所有消息。此外,我希望消息总线在消息迟到时重置每个持久消费者的检查点。例如

  1. 客户于 2009-12-22 12:00:00 订阅主题 1
  2. 消息 1 到达,时间戳 2009-12-22
  3. 客户端收到消息 1
  4. 客户端断开连接
  5. 消息 2 到达,时间戳 2009-12-21 18:00:00
  6. 客户端连接
  7. 客户端收到消息 2,然后收到消息 1

我更喜欢开源提供商。有谁知道支持此功能的消息总线提供商?我曾尝试阅读 ActiveMQ、Mass Transit 等的介绍文档,但我不得不承认我在消息总线术语方面落后于曲线,所以其中很多都超出了我的想象。

4

2 回答 2

0

AMQP(由 RabbitMQ 等人实现)允许您定义持久队列并将它们附加到同一个交换。每个想要接收消息的客户端首先设置自己的持久队列,即使客户端断开连接,它也会保存从交换机接收到的消息。

唯一的限制是从未连接过的客户端以及意外到达现场的客户端不能延迟设置队列并请求转储所有先前的消息。AMQP 1.0 可能允许这种通用持久性,但我不太了解新模型,所以我不能肯定。

于 2009-12-22T22:02:18.050 回答
0

您可能想查看 spring 集成项目。

http://www.springsource.org/spring-integration

于 2009-12-31T02:23:32.230 回答