2016-03-29 9 views
0

スケジューラーサービスアドレスを直接指定せずにMassTransitステートマシンsagaでスケジューラーを使用しようとしています。MassTransitでスケジューラアドレスを指定しないで佐賀スケジューリング

私はUseMessageSchedulerをバス構成で使用しています。これは私のコンシューマの中からcontext.Scheduleすることができます。

しかし、サガでは機能しません。私は.Scheduleをしようとすると、私はこのエラーを取得する:

A request timeout was specified but no message scheduler was specified or available

私はMTコードをチェックして、私はこれを参照してください。

​​

ので、通常スケジューラアドレスを取得する必要があり、分岐が実際にそこにあります設定から、しかしそれはなぜ働かないのですか?

答えて

0

スケジューラを正しく設定していることを確認するには、UseMessageSchedulerへのコールをすべてのエンドポイントがアクセスできるようにメインバスコンフィグレータに配置する必要があります。エンドポイントアドレスが受信エンドポイントから引かれ、スケジューラは、主要バスコンフィギュレータで構成されていることを

configurator.ReceiveEndpoint("quartz", e => 
{ 
    configurator.UseMessageScheduler(e.InputAddress); 

    e.Consumer(() => new ScheduleMessageConsumer(scheduler)); 
    e.Consumer(() => new CancelScheduledMessageConsumer(scheduler)); 
}); 

お知らせ:スケジューラのエンドポイントが同じバスのインスタンス内で設定されている場合、それは次のようになります。スケジューラーアドレスが構成からのものである場合、URIをアドレスとして指定する必要があります。

+0

これは私が自分のコードで持っているもので、スケジューリングサービスアドレスが指定されていないというエラーが出ています。私はいくつかの愚かな間違いがあるかもしれない、ダブルチェックします。 –

関連する問題