【问题标题】:Creating new queue in MSMQ, messages fall out在 MSMQ 中创建新队列,消息脱落
【发布时间】:2014-05-14 06:59:08
【问题描述】:

我的办公室目前使用 NServiceBus,我们计划很快发布一个版本,要求我们停止服务并将这些消息移出其队列以获取延迟的超时消息,并将它们逐个移入以测试新的功能。我试图手动创建队列,但似乎无法弄清楚为什么复制后消息不会保留在队列中。我已经创建了队列的事务和非事务版本。我试图将消息从我的审核队列复制到两个新创建的队列中,而不是这些消息落入它们各自的死信队列中。我正在使用一个名为 Queue Explorer 的应用程序来处理将消息从一个队列移动到另一个队列。

当创建我无法手动执行的队列时,NServiceBus 有何不同之处?有人可以提供任何提示来缓解我的问题吗?如果有人对我可以尝试不同的方法有任何建议,将不胜感激。

【问题讨论】:

  • 你运行的是什么版本的 NServiceBus?
  • 我们使用的是 NServiceBus 3.2
  • 您是否正在尝试将超时消息从一个端点迁移到另一个端点?
  • (NServiceBus 创建私有跨国队列。)如果它们从队列中被消费,则意味着它们已被端点处理,您是否检查了 ravenDB 的超时文档?
  • 基本上,NServiceBus 已经延迟了每天早上 5 点排队运行的消息。我们正在发布一个版本,我们希望在其中使用这些消息来测试新功能。我们的尝试是创建一个队列以将这些消息移入以进行保存,以便服务不会处理它们。在尝试手动创建消息队列时,我尝试将一些现有的审计消息复制到队列中进行测试,结果消息掉到了死信队列中。

标签: msmq nservicebus


【解决方案1】:

使用MSMQ发送消息的示例代码

        MessageQueue messageQueue = null;
        if (MessageQueue.Exists(@".\Private$\SomeTestName"))
        {
            messageQueue = new MessageQueue(@".\Private$\SomeTestName");
            messageQueue.Label = "Testing Queue";
        }
        else
        {
            // Create the Queue
            MessageQueue.Create(@".\Private$\SomeTestName");
            messageQueue = new MessageQueue(@".\Private$\SomeTestName");
            messageQueue.Label = "Newly Created Queue";
        }
        messageQueue.Send("Teste message sends by bawar", "Title");

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 2012-05-12
    • 2011-05-01
    • 2012-03-27
    • 1970-01-01
    • 2015-01-24
    • 2017-11-11
    • 2011-06-12
    • 2012-12-28
    相关资源
    最近更新 更多