首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从一个流传递到由Vm端点连接的另一个流的异常有效载荷

从一个流传递到由Vm端点连接的另一个流的异常有效载荷
EN

Stack Overflow用户
提问于 2014-05-20 09:17:39
回答 1查看 1K关注 0票数 1

嗨,我有一个包含flow1的mflow文件,其中Vm入站端点是kept.Through,这个vm端点连接在其他mflow文件中的另一个flow2,在相同的project.An异常中,已经在flow2中抛出了它,我需要在flow1中捕获它。我可以在flow1中看到来自flow 2的异常有效负载,但是flow1并没有将它识别为异常,而是传递给流的其他组件,而不是在解决这个问题时发送它来捕获block.help me,我只需要在主流(即flow1 )中捕获它。并行流将与此流一起运行,我正在聚合两个responses.If,其中一个流抛出异常,它不应该影响另一个并行流的执行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-20 11:14:40

调用流不会捕获异常,因为异常不会在端点之间传播。

您可以将流2更改为子流或私有流(没有定义异常策略),并删除vm端点。这样,flow 1将捕获并处理异常。

代码语言:javascript
复制
    <flow name="flow1">
        <flow-ref name="flow2" />       

        <catch-exception-strategy>
            <logger level="ERROR" message="Caught exception in flow1" />
        </catch-exception-strategy>
    </flow>

    <sub-flow name="flow2">
    ...
    </sub-flow>

或者,您也可以使用筛选器或选择路由器来筛选异常。

代码语言:javascript
复制
    <flow name="flow1">
        ...
        <vm:outbound-endpoint exchange-pattern="request-response" address="vm://flow2" />

        <choice>
            <when expression="#[exception != null]">
                <logger level="ERROR" message="exception in flow2" />
            </when>
            <otherwise>
                <logger />
            </otherwise>
        </choice>
    </flow>

    <flow name="flow2">
        <vm:inbound-endpoint exchange-pattern="request-response" address="vm://flow2" />
        <null-component></null-component>
    </flow>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23755706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档