如何处理来自输入队列的已发布消息以及将其发布到远程端点?



我目前配置rebus将MyMessages程序集中的所有消息定向到流程管理器输入队列。假设在MyMessage程序集中,我有一个名为SomethingHappened的消息,该消息将用于触发进程管理器中的其他操作(例如DoSomethingElse)。但是,我还想在本地(在同一队列中)订阅SomethingHappened以更新数据库。所以工作流看起来像:

  1. 用户触发操作DoSomething在UI
  2. DoSomething的处理程序更新对象状态并在内部(在未提交事件的内存集合中)发布事件SomethingHappened
  3. SomethingHappened事件通过遍历对象
  4. 中所有未提交的事件由rebus发布到队列
  5. 处理SomethingHappened本地更新数据库
  6. 通过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>

相关内容

  • 没有找到相关文章

最新更新