2

是否可以在 MSMQ 消息队列上强制按顺序接收?即,我们希望以与发送消息相同的顺序接收消息。

编辑:如果有帮助:事务队列对我们来说很好。没有 DTC 会更好。

Edit2 - 一些额外的上下文:当用户向我们的数据库提交新数据时(通过 Web 界面),我们的 Web 应用程序将事件发布到服务总线上(在后台使用 MSMQ)。总线上的侦听器现在应该按顺序接收消息,因为这对于一致性很重要(人在创建之前不能重命名......)。总线人员只是为每个点对点连接和订阅管理创建队列,但是,他们说底层队列负责按顺序传递事件。

4

1 回答 1

5

确保消息按照从队列中读取的顺序到达队列的唯一方法是在一个事务中将它们全部发送。

您可以在事务之外发送多条消息,并且它们很可能确实会按照发送顺序到达队列中,但不能保证。因此,您需要编写错误处理代码来处理乱序情况。

于 2013-07-01T19:43:28.040 回答