是否将已发布的订阅者消息保留在队列中?

时间:2014-08-06 05:06:05

标签: rebus

我刚做了一个快速测试,看起来发布的带有bus.Publish的消息在msmq中没有持久存在,直到它有一个用户。

  1. 我在配置中做错了吗?
  2. 这是设计的吗?为什么?
  3. 由于

1 个答案:

答案 0 :(得分:0)

这就是发布/订阅与MSMQ一起工作的方式 - 当发布者发布消息时,它将在其订阅存储中查找订阅者的队列名称,并将消息的副本发送给每个订阅者。

由此可知,如果没有订阅者,则实际上不会发送任何消息。

逻辑上,当使用支持多播的传输时,它的工作方式相同,例如: RabbitMQ - 使用RabbitMQ,然后将消息发布到代理,代理然后将消息的副本分发给每个订阅者 - 再次,如果没有,则消息将不会传递给任何人,因此无法在任何地方看到。

我希望这是有道理的:)