2012-11-01 2 views
1

ISendMessages가 구성되지 않았으므로 실패한 메시지를 오류 대기열로 전달하는 문제가 있습니다. FatalRetryCount이 초과 될 때NServiceBus가 실패한 메시지를 오류 대기열로 전달하지 못했습니다.

내가

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

<MessageForwardingInCaseOfFaultConfig ErrorQueue="nservicebus_error" /> 

<add key="ConnectivityRetryPeriod" value="30" /> 
<add key="FatalRetryCount" value="2" /> 
<add key="RetryFrequency" value="2" /> 

그러나 내 app.config 파일에 다음 섹션이, 나는 구체적인에서

System.InvalidOperationException occurred 
    Message=Could not forward failed message to error queue, reason: System.ArgumentException: NServiceBus.Unicast.Queuing.ISendMessages has not been configured. In order to avoid this exception, check the return value of the 'HasComponent' method for this type. 
    at NServiceBus.ObjectBuilder.Spring.SpringObjectBuilder.NServiceBus.ObjectBuilder.Common.IContainer.Build(Type typeToBuild) 
    at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBuilder.IBuilder.Build[T]() 
    at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason). 
    Source=NServiceBus.Core 
    StackTrace: 
     at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason) 
    InnerException: System.ArgumentException 
     Message=NServiceBus.Unicast.Queuing.ISendMessages has not been configured. In order to avoid this exception, check the return value of the 'HasComponent' method for this type. 
     Source=NServiceBus.ObjectBuilder.Spring 
     StackTrace: 
      at NServiceBus.ObjectBuilder.Spring.SpringObjectBuilder.NServiceBus.ObjectBuilder.Common.IContainer.Build(Type typeToBuild) 
      at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBuilder.IBuilder.Build[T]() 
      at NServiceBus.Faults.Forwarder.FaultManager.SendFailureMessage(TransportMessage message, Exception e, String reason) 

는,이 예외가 로그인 한 다음 예외가 NServiceBus.Faults.Forwarder 네임 스페이스의 FaultManager.cs에있는 다음 유치권

Line where the error is thrown

는 여기에 내가 Config code

+0

끝점 구성 코드를 게시 할 수 있습니까? –

+0

구성 코드 – infinity

+0

으로 게시물을 업데이트했습니다. Adam은 일반적으로 EndpointConfig.cs라는 이름의 "Configure.With() ..."코드를 의미한다고 생각합니다. –

답변

0

App.Config sections

가 NServiceBus 지원 팀에서이 문제에 수정을 얻었다 사용하는 것을의 app.config 섹션과 구성 코드와 ISendMessages 등록됩니다 것 같습니다 .MsmqTransport()를 명시 적으로 호출 할 때. .MsmqTransport()를 호출하도록 구성 코드를 업데이트했으며 FaultManager가이 예외를 throw하는 것을 중지했습니다.

관련 문제