NServiceBus:错误消息未出现在错误队列中 - ForwarderFaultManager无法启动

时间:2017-08-24 13:01:23

标签: ravendb nservicebus

我正在使用NServiceBus.Host 6.0.0运行NServiceBus 5.2.14

我使用MSMQ作为传输和RavenDBPersistence。 除错误队列外,所有队列都出现在计算机管理中。 一切都适用于消息和端点。错误被重试5次。但是,重试5次后,它们不会出现在错误队列中。

我已经指定了错误队列:

<MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />

并包含在configSections中:

<section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />

Edit1:app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="UnicastBusConfig" type="NServiceBus.Config.UnicastBusConfig, NServiceBus.Core" />
    <section name="TransportConfig" type="NServiceBus.Config.TransportConfig, NServiceBus.Core" />
    <section name="MessageForwardingInCaseOfFaultConfig" type="NServiceBus.Config.MessageForwardingInCaseOfFaultConfig, NServiceBus.Core" />
  </configSections>
  <TransportConfig MaximumConcurrencyLevel="5" MaxRetries="5" />
  <MessageForwardingInCaseOfFaultConfig ErrorQueue="error" />
  <UnicastBusConfig ForwardReceivedMessagesTo="audit">
    <MessageEndpointMappings>
      ...
    </MessageEndpointMappings>
  </UnicastBusConfig>
  ...

Edit2:endpointconfig:

public class EndpointConfig : IConfigureThisEndpoint, AsA_Server
{
    ...
    public void Customize(BusConfiguration busConfiguration)
    {
        ...
        var containerFactory = new ContainerFactory();
        Container.InitializeContainer(containerFactory);
        AutoMapperInitializer.Configure();
        busConfiguration.AssembliesToScan(AllAssemblies.Matching("NServiceBus").And("OurProjectName."));
        busConfiguration.UseTransport<MsmqTransport>();
        busConfiguration.EndpointName(ConfigurationManager.AppSettings["InputQueueName"]);
        busConfiguration.UseContainer<WindsorBuilder>(customizations => customizations.ExistingContainer(Container.Instance));
        busConfiguration.UsePersistence<RavenDBPersistence>();
        busConfiguration.EnableCriticalTimePerformanceCounter();
        busConfiguration.RegisterComponents(components => { components.ConfigureComponent<UsernameForwarder>(DependencyLifecycle.InstancePerCall); });

        ...
    }
}

我在自托管控制台中运行端点。在功能列表中,我看到了:

Name: ForwarderFaultManager
Version: 5.2.14
Enabled by Default: Yes
Status: Disabled
Deactivation reason: Did not meet one of the dependencies:

Name: InMemoryFaultManager
Version: 5.2.14
Enabled by Default: No
Status: Enabled
Dependencies: None
Startup Tasks: None

我怀疑我的问题在于Forw​​arderFaultManager,但是缺少的依赖项列表中没有列出任何内容。我可能缺少什么?我在哪里可以开始寻找?

0 个答案:

没有答案