【问题标题】:Extracting exception thrown by unsuccessful message-processors in FirstSuccessful routing message processor提取FirstSuccessful路由消息处理器中不成功的消息处理器抛出的异常
【发布时间】:2013-02-22 22:58:12
【问题描述】:

我正在解决如下故障安全方案。

但在恢复流中,我无法获取由于 subflow1 或 subflow2 失败而发生的异常或 exceptionPayload。

有什么方法可以让我在第一个成功的路由处理器中得到不成功的消息处理器抛出的异常。

我查看了 Mule FirstSuccessful 类代码。从其中的循环中,我可以看到异常被捕获但未保存。

有没有一种方法可以扩展并拥有自己的第一次成功,这也可以为我提供例外?

<flow name="main_flow" >
    ....
    ....
    <first-successful>
        <flow-ref  name="subflow_1" />
        <flow-ref  name="recoveryFlow1" />
    </first-successful>
    ....
    ....
    <first-successful>
        <flow-ref  name="subflow_2" />
        <flow-ref  name="recoveryFlow2" />
    </first-successful>
    ....
    ....
</flow>

<sub-flow name="subflow_1">
    ....
    ....
    <out-bound call to web-service />
    ....
    ....
</sub-flow>

<sub-flow name="subflow_2">
    ....
    ....
    <out-bound call to web-service />
    ....
    ....
</sub-flow>

<sub-flow name="revoceryFlow1" >
    <process communication based on the exception thrown by previous unsuccessful sub-flow 1>
    <some more processing so that the remaining main flow is not impacted because of the failue of the subflow 1  >
</sub-flow>

<sub-flow name="revoceryFlow2" >
    <process communication based on the exception thrown by previous unsuccessful sub-flow 2>
    <some more processing so that the remaining main flow is not impacted because of the failue of the subflow 2 >
</sub-flow>

如果我走错了方向,请告知。还有比我更好的方法吗?

【问题讨论】:

    标签: java exception routing mule


    【解决方案1】:

    我得到了解决方案。 骡子没有直接的解决方案。 我已经覆盖了 FirstSuccessful 行为并添加了带有异常详细信息的属性。然后在第一个成功的下一个消息处理器中访问这些属性。

    catch (Exception ex)
            {
                event.getMessage().setProperty("prevError",  ex.getMessage()  , PropertyScope.INVOCATION);
                event.getMessage().setProperty("prevErrorClass",  ex.getClass()  , PropertyScope.INVOCATION);
                failed = true;
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-23
      • 2015-04-15
      • 2011-09-16
      • 1970-01-01
      相关资源
      最近更新 更多