【问题标题】:Duplicate Events in Message Broker消息代理中的重复事件
【发布时间】:2015-08-10 22:04:23
【问题描述】:

在 Message Broker (v8.0.0.0) 中,我们使用事件监控框架来驱动我们的流级审计。我们正在研究三种类型的审计——启动和回滚;以及由 Message Broker 定义的相应 transaction.Start/End/Rollback 事件。

对于回滚,在每个流程中,我们都有一个通用异常处理程序,它从输入节点捕获异常终端,进行一些处理,然后再次抛出异常。这意味着我们会从代理获得回滚事件,并将原始消息回退到 DLQ。

但是,对于这些情况,我们会收到四个事件,而不是预期的两个(即开始和回滚)。有一个额外的 Start 事件和一个 End 事件正在生成。

我环顾四周,在 MQSeries 论坛中可能存在此问题的重复,其中有人建议这是因为该消息正在被回退。 (链接在文末。)

任何人都可以提出缓解/解决方法吗?我查看了事件消息本身,无法区分其中一个。

MQSeries Forum Thread

【问题讨论】:

    标签: events monitoring esb messagebroker


    【解决方案1】:

    额外的开始和结束是因为实际上是MQ输入节点向DLQ发送消息,而不是MQ本身。

    由于在节点知道它需要 DLQ 消息之前引发事务开始消息,我们还需要一个事务事件来关闭打开的事务。

    事实上,我们在它自己的 MQ 事务下完成这项工作,因此事件与实际事务边界相对应,只是在您的情况下,消息永远不会在最后一次迭代中产生流程。

    最好区分成功的事务和我们执行回退的事务,就像我们对回滚事件所做的那样,但 IIB 目前不允许这样做。

    我建议将其作为以下 URI 的要求提出:

    https://www.ibm.com/developerworks/rfe/?PROD_ID=532

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2023-03-05
      • 2021-11-08
      • 2020-03-02
      • 1970-01-01
      • 2016-04-18
      相关资源
      最近更新 更多