【问题标题】:MSMQ competing consumerMSMQ 竞争消费者
【发布时间】:2010-12-05 11:33:03
【问题描述】:

谁能告诉我 MSMQ(使用事务)是否支持竞争消费者?基本上,我有多个线程将消息从单个队列中出列。只是想确保这会起作用,因为 MSMQ 有时的行为与我预期的不同。

【问题讨论】:

  • 你在偷看或接收消息吗?
  • 我正在接收消息。

标签: msmq msmq-transaction


【解决方案1】:

如果您从同一队列的同一台机器上的多个进程调用 Receive,您将不会多次收到相同的消息 -- 除非您从读取回滚事务。

如果您使用的是 2008/w7 并且在多台机器上接收来自事务中同一远程队列的消息,则您不应看到两次相同的消息(再次,除非您回滚)。

如果您使用枚举器来查看消息,然后删除有趣的消息(通过 RemoveCurrent),您应该会看到一个异常,即如果另一个消费者已获取该消息,则该消息已被删除。

如果您使用的是 2003/XP,则无法在事务中进行远程接收,因此所有赌注都在那里。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-24
    • 2018-06-03
    • 1970-01-01
    • 2019-07-16
    • 2019-04-01
    相关资源
    最近更新 更多