我目前将 rebus 配置为将MyMessages程序集中的所有消息定向到流程管理器输入队列。假设在 MyMessage 程序集中我有一条名为SomethingHappened的消息,它将用于触发流程管理器中的其他操作(例如DoSomethingElse)。但是,我还想在本地(在同一个队列中)订阅SomethingHappened以更新数据库。因此工作流程将如下所示:
- 用户在 UI 中触发动作DoSomething
- DoSomething的处理程序更新对象状态并在内部发布事件SomethingHappened(在内存中收集未提交的事件)
- 通过遍历对象中所有未提交的事件,通过 rebus 将SomethingHappened事件发布到队列
- 在本地处理发生的事情以更新数据库
- 通过saga远程处理SomethingHappened以触发SomethingElseHappened
这可以在rebus中配置吗?
我目前拥有的 rebus 配置:
<rebus inputQueue="input" errorQueue="error" workers="1" maxRetries="5">
<endpoints>
<add messages="MyMessages" endpoint="processManagers.input"/>
</endpoints>
</rebus>
谢谢你
阴