我目前配置rebus将MyMessages程序集中的所有消息定向到流程管理器输入队列。假设在MyMessage程序集中,我有一个名为SomethingHappened的消息,该消息将用于触发进程管理器中的其他操作(例如DoSomethingElse)。但是,我还想在本地(在同一队列中)订阅SomethingHappened以更新数据库。所以工作流看起来像:
- 用户触发操作DoSomething在UI DoSomething的处理程序更新对象状态并在内部(在未提交事件的内存集合中)发布事件SomethingHappened
- 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>
谢谢殷
我错了。我应该把端点从configuration改为input。永远,永远不要服从命令。:)
<rebus inputQueue="input" errorQueue="error" workers="1" maxRetries="5">
<endpoints>
<add messages="MyMessages" endpoint="input"/>
</endpoints>
</rebus>