【问题标题】:Jboss ESB catching exceptionsJboss ESB 捕获异常
【发布时间】:2011-07-19 03:00:29
【问题描述】:
我有一条消息是通过 HTTP 网关从发布请求创建的。我真正想要的是一种从 ESB 中的任何操作中捕获任何异常并能够将其记录到数据库的方法。我在消息头中看到了一些有关将故障设置为的信息,但是当消息来自 http 网关时,我找不到设置它的方法。此外,我不确定故障是否是最好的方法,因为某些操作会创建其他消息,而这些消息反过来也必须为它们设置故障。
【问题讨论】:
标签:
jakarta-ee
exception-handling
jboss-esb
【解决方案1】:
一种解决方案可能是使用自 JBoss ESB 4.11 以来可用的全局操作管道拦截器功能,它允许您为所有服务配置全局拦截器并拦截服务实例化、服务启动、服务结束和服务失败的流。
这里是这样描述的:
https://issues.jboss.org/browse/JBESB-3724
基本上你实现接口“org.jboss.soa.esb.listeners.message.PipelineInterceptor”并在“jbossesb-properties.xml”中配置拦截点。
<properties name="interceptors">
<property name="org.jboss.soa.esb.pipeline.failure.interceptors"
value="org.foo.DatabaseLoggingInterceptor"/>
</properties>
您可以配置几个不同的拦截器,用逗号分隔。