【问题标题】:Nservice bus queue not found exception找不到服务总线队列异常
【发布时间】:2013-07-25 15:54:12
【问题描述】:

我有一个连接器(它接收来自不同连接器的消息。在接收消息时,我的连接器给出以下消息:

[Worker.11] 警告 NServiceBus.Unicast.Transport.Transact ional.TransactionalTransport [(null)] - 未能提升“传输消息” ge received' 事件,用于 ID=fd970068-55ad-49c0-8abc-4133b7f7fe12\2138 的消息 47 NServiceBus.Unicast.Queuing.QueueNotFoundException ---> System.Messaging.Message QueueException:无法登记事务。 在 System.Messaging.MessageQueue.SendInternal(对象 obj,MessageQueueTransac 化 internalTransaction, MessageQueueTransactionType transactionType) 在 NServiceBus.Unicast.Queuing.Msmq.MsmqMessageSender.NServiceBus.Unicast.Que uing.ISendMessages.Send(TransportMessage消息,地址地址) --- 内部异常堆栈跟踪结束 --- 在 NServiceBus.Unicast.UnicastBus.HandleTransportMessage(IBuilder childBuilde r,TransportMessage 消息) 在 NServiceBus.Unicast.UnicastBus.TransportMessageReceived(对象发送者,Tra nsportMessageReceivedEventArgs e) 在 System.EventHandler`1.Invoke(对象发送者,TEventArgs e) 在 NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.OnTrans portMessageReceived(TransportMessage 消息)

奇怪的是,当我进行内部测试时,它运行良好,一旦它现在托管到亚马逊服务器上,它就开始崩溃了。

以下是我如何使用

配置我的 nservice 总线
NServiceBus.Configure.With(
            AllAssemblies.Except("libBL.dll").And("libCommon.dll").And("libExtra.dll")).StructureMapBuilder()
            .JsonSerializer()
            .UnicastBus()
            .DoNotAutoSubscribe()
            .TransactionTimeout(TimeSpan.FromMinutes(5));

任何帮助将不胜感激。如果需要更多信息,请告诉我

谢谢

【问题讨论】:

  • 会自动创建本地队列。也许您有另一个尚未创建的端点映射到的队列?

标签: nservicebus


【解决方案1】:

在搜索代码时发现,如果传入的消息失败,那么我并没有回滚整个操作开始的事务,因此 nservicebus 无法查询数据库,因为它被锁定了。在输入事务回滚的逻辑后,我的连接器就可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2015-07-18
    • 2019-02-12
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多