【问题标题】:OSB - JMS - Error HandlerOSB - JMS - 错误处理程序
【发布时间】:2019-10-25 22:52:51
【问题描述】:

当我将消息放入队列并且 JMS 服务器已关闭时,我在尝试在 OSB 上捕获错误时遇到了一些麻烦,我有一个代理服务调用配置了 jms 的业务服务。 我的代理服务已经启用了 Transaction Required 和 Same Transaction For Response。

管理日志上的错误:

目的地无法到达;嵌套异常是: java.net.ConnectException:连接被拒绝:连接;不可用 路由器到目的地

但是异常没有捕获到 ErrorHandler :(

【问题讨论】:

    标签: osb


    【解决方案1】:

    我发现了错误,问题是我在更改一切正常后使用的是发布而不是路由。

    【讨论】:

      【解决方案2】:

      是的,没错,发布线程就像一劳永逸(完全异步),而 Route 或 ServiceCallout 将锁定 ErrorHandler 中的异常

      【讨论】:

        【解决方案3】:

        发布是即发即弃,默认情况下无需等待答案。这是因为发布操作的默认 QualityOfService=BestEffort。您可以通过使用 RoutingOptions 块并设置 QualityOfService=ExactlyOnce 来更改它。然后 OSB 将等待操作执行,因此也能够捕获潜在错误。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-09-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-18
          • 1970-01-01
          • 2016-06-30
          • 2019-02-09
          相关资源
          最近更新 更多