現在、 MyMessagesアセンブリ内のすべてのメッセージをプロセス マネージャーの入力キューに送信するように rebus を構成しています。MyMessage アセンブリに、プロセス マネージャー ( DoSomethingElseなど)で他のアクションをトリガーするために使用されるSomethingHappenedというメッセージがあるとします。ただし、 SomethingHappenedをローカル (同じキュー内) でサブスクライブして、データベースを更新することも必要です。したがって、ワークフローは次のようになります。
- ユーザーが UI でアクションDoSomethingをトリガーする
- DoSomethingのハンドラーは、オブジェクトの状態を更新し、イベントSomethingHappenedを内部的に公開します (コミットされていないイベントのメモリ コレクション内)。
- SomethingHappenedイベントは、オブジェクト内のコミットされていないすべてのイベントを通過することにより、rebus によってキューに発行されます。
- SomethingHappenedをローカルで処理してデータベースを更新する
- SomethingHappenedを saga によってリモートで処理して、 SomethingElseHappenedをトリガーする
これを rebus で設定することは可能ですか?
私が現在持っている rebus 構成:
<rebus inputQueue="input" errorQueue="error" workers="1" maxRetries="5">
<endpoints>
<add messages="MyMessages" endpoint="processManagers.input"/>
</endpoints>
</rebus>
ありがとうございました
陰