OSB - JMS - 错误处理程序

时间:2017-10-20 16:19:32

标签: osb

当我在队列中放入消息并且JMS服务器关闭时,我在尝试捕获OSB上的错误时遇到了一些麻烦,我有一个代理服务调用配置了jms的业务服务。 我的代理服务已经启用了事务处理和响应相同事务。

管理员日志中的错误:

  

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

但异常并没有抓住ErrorHandler :(

3 个答案:

答案 0 :(得分:2)

我发现错误,问题是我改变了所有工作后,我使用的是Publish而不是Routing。

答案 1 :(得分:1)

是的,正确的,发布线程就像火和忘记(完全异步),而Route或ServiceCallout将锁定ErrorHandler中的异常

答案 2 :(得分:1)

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