nServiceBusは初めてです。
nServiceBusバージョン:2.6.0.1505
佐賀をデータベースに残したい。これが機能しない理由:
public class MessageEndpoint : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
public void Init()
{
Configure.With().DefaultBuilder().Sagas().NHibernateSagaPersister();
}
}
エラーが発生します:
OnStartの処理中に状態Initial中にTopshelf.Internal.ServiceController`1[[NServiceBus.Host.Internal.GenericHost、NServiceBus.Host、Version = 2.6.0.1505、Culture = neutral、PublicKeyToken=9fc386479f8a226c]]で例外が発生しました
このバージョンのnServiceBusでこのようにエンドポイントを構成することは可能ですか?
編集:
エンドポイント構成が次のように変更されました。
public class MessageEndpoint : IConfigureThisEndpoint,
AsA_Server,
IWantCustomInitialization
{
public void Init()
{
Configure.With()
.DefaultBuilder()
.XmlSerializer()
.Sagas()
.NHibernateSagaPersister();
}
}
Sagaは実行されますが、例外がスローされます。
2012-07-30 16:36:12,229 [Worker.5] INFO NServiceBus.Unicast.UnicastBus [(null)] <(null)>-受信したメッセージMessages.StartCmd、Messages、Version = 1.0.0.0、Cultu re = neutral 、PublicKeyToken = null with ID 0adbb2fd-4a7d-4fa2-ae09-70bbcbbc8241 \ 206 9 from sender MyWebClient @ USER-PC 2012-07-30 16:36:12,232 [Worker.5] INFO NServiceBus.Unicast.UnicastBus [(null) ] <(null)>-着信メッセージでWindows IDが指定されていないため、偽装できません。これは、相互運用シナリオでは一般的です。
2012-07-30 16:36:12,294 [Worker.5] WARN NServiceBus.Unicast.Transport.Msmq.Msmq Transport [(null)] <(null)>-ID=のメッセージの「トランスポートメッセージ受信」イベントの発生に失敗しました0adbb2fd-4a7d-4fa2-ae09-70bbcbbc8241 \ 2069 Spring.Objects.Factory.UnsatisfiedDependencyException:「NServiceBus.Sagas.Impl.SagaMessageHandler」という名前のオブジェクトの作成中にエラーが発生しました:オブジェクトプロパティ「Persister」を通じて表現された不満の依存関係:2つのオブジェクトがありますタイプ別の自動配線のタイプ[NServiceBus.Saga.ISagaPersister]の場合、オブジェクト'NServiceBus.Sagas.Implのプロパティ'Persister'を自動配線できるようにするには1つだけである必要があります。SagaMessageHandler'。Spring.Objects.Factory.Support.AbstractAutowireCapableObjectFactory.Autowi reByType(文字列名、RootObjectDefinition定義、
Spring.Objects.Factory.Support.AbstractObjectFactory.GetObjectInternal(文字列名、Type requiredType、Object []引数、ブール値のsuppressConfigure)at Spring.Objects.Factory.Support.AbstractObjectFactory.GetObject(String name)at Spring.Objects.Factory .Support.DefaultListableObjectFactory.GetObjectsOfTy pe(Type type、Boolean includePrototypes、Boolean includeFactoryObjects)at Spring.Context.Support.AbstractApplicationContext.GetObjectsOfType(Type ty pe、Boolean includePrototypes、Boolean includeFactoryObjects)at NServiceBus.ObjectBuilder.Spring.SpringObjectBuilder.NService lder.Common.IContainer.Build(Type typeToBuild)at NServiceBus.ObjectBuilder.Common.CommonObjectBuilder.NServiceBus.ObjectBui lder.IBuilder.BuildAndDispatch(Type typeToBuild、Action`1 action)
NServiceBus.Unicast.UnicastBus.DispatchMessageToHandlersBasedOnType(IMessa ge toHandle、Type messageType)at NServiceBus.Unicast.UnicastBus.HandleMessage(TransportMessage m)at NServiceBus.Unicast.UnicastBus.TransportMessageReceived(Object sender、TransportMessageReceivedEventArgs e)at .Msmq.MsmqTransport.OnTransportMessageReceive d(TransportMessage msg)
これが失敗する理由のようです:
タイプ別の自動配線には、タイプ[NService Bus.Saga.ISagaPersister]のオブジェクトが2つありますが、オブジェクト'NServiceBus.Sagas.Implのプロパティ'Persister'を自動配線できるのは1つだけである必要があります。SagaMessageHandler '