0

我的 NServiceBus 项目将不再从 Azure 队列中读取。

我删除了它们,因为可能有一些消息卡住了,但现在它将不再创建队列。注意:用于自行自动创建队列的完全相同的代码和凭据。相反,我得到:

40400: 未找到端点..

在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.EndSendCommand(IAsyncResult 结果) 在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnEndSend(IAsyncResult 结果) 在 Microsoft.ServiceBus.Messaging.Sbmp.SbmpMessageSender.OnSend(TrackingContext trackingContext, IEnumerable1 messages, TimeSpan timeout) at Microsoft.ServiceBus.Messaging.MessageSender.Send(TrackingContext trackingContext, IEnumerable1 条消息,TimeSpan 超时)在 Microsoft.ServiceBus.Messaging.QueueClient.Send(BrokeredMessage 消息)在 NServiceBus.Unicast.Queuing.Azure.ServiceBus.AzureServiceBusMessageQueue.Send(字节)的 Microsoft.ServiceBus.Messaging.MessageSender.Send(BrokeredMessage 消息) [] rawMessage,QueueClient 发件人)在 c:\TeamCity\buildAgent\work\nsb.master_7\src\azure\Queueing\NServiceBus.Unicast.Queuing.AppFabric\AzureServiceBusMessageQueue.cs:NServiceBus.Unicast.Queuing.Azure 的第 179 行。 ServiceBus.AzureServiceBusMessageQueue.Send(TransportMessage message, Address address) in c:\TeamCity\buildAgent\work\nsb.master_7\src\azure\Queueing\NServiceBus.Unicast.Queuing.AppFabric\AzureServiceBusMessageQueue.cs:NServiceBus.Unicast 的第 160 行.UnicastBus.SendSubscribeMessageWithRetries(地址目的地,TransportMessage subscriptionMessage, String messageType, Int32 retriesCount) in c:\TeamCity\buildAgent\work\nsb.master_7\src\unicast\NServiceBus.Unicast\UnicastBus.cs:NServiceBus.Unicast.UnicastBus.<>c_ 的第 476 行c:\TeamCity\buildAgent\work\nsb.master_7\src\unicast\NServiceBus.Unicast\UnicastBus.cs 中的DisplayClass8.b _7(对象状态):System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback 回调的第 433 行, 对象状态, Boolean preserveSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 在 System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue 。派遣()

我的配置如下:

using NServiceBus.Config;
using NServiceBus.Config.ConfigurationSource;

namespace XXX
{
    public class AzureConfigurationProvider : 
        IProvideConfiguration<AzureServiceBusQueueConfig>,
        IProvideConfiguration<AzureSubscriptionStorageConfig>,
        IProvideConfiguration<AzureSagaPersisterConfig>,
        IProvideConfiguration<AzureDataBusConfig>
    {
        AzureServiceBusQueueConfig IProvideConfiguration<AzureServiceBusQueueConfig>.GetConfiguration()
        {
            return new AzureServiceBusQueueConfig
                       {
                           QueueName = "XXX",
                           IssuerKey = "XXX",
                           IssuerName = "XXX",
                           ServiceNamespace = "XXX"
                       };
        }

        AzureSubscriptionStorageConfig IProvideConfiguration<AzureSubscriptionStorageConfig>.GetConfiguration()
        {
            return new AzureSubscriptionStorageConfig
                       {
                           ConnectionString = "DefaultEndpointsProtocol=https;" +
                                                "AccountName=XXX;" +
                                                "AccountKey=XXX",
                           CreateSchema = true
                       };
        }

        AzureSagaPersisterConfig IProvideConfiguration<AzureSagaPersisterConfig>.GetConfiguration()
        {
            return new AzureSagaPersisterConfig
                       {
                           ConnectionString = "DefaultEndpointsProtocol=https;" +
                                              "AccountName=XXX;" +
                                              "AccountKey=XXX",
                           CreateSchema = true
                       };
        }

        AzureDataBusConfig IProvideConfiguration<AzureDataBusConfig>.GetConfiguration()
        {
            return new AzureDataBusConfig
            {
                ConnectionString = "DefaultEndpointsProtocol=https;" +
                                   "AccountName=XXX;" +
                                   "AccountKey=XXX"
            };
        }
    }
}
4

1 回答 1

1

你在哪个版本的 NServiceBus 上?

此外,NSB 不创建目标队列,端点只创建它在启动时读取的队列。删除队列后,您是否重新启动了在该队列上侦听的端点?

于 2013-12-29T16:12:28.847 回答