1

我有一条消息是通过 HTTP 网关从发布请求创建的。我真正想要的是一种从 ESB 中的任何操作中捕获任何异常并能够将其记录到数据库的方法。我在消息头中看到了一些有关将故障设置为的信息,但是当消息来自 http 网关时,我找不到设置它的方法。此外,我不确定故障是否是最好的方法,因为某些操作会创建其他消息,而这些消息反过来也必须为它们设置故障。

4

1 回答 1

3

一种解决方案可能是使用自 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>

您可以配置几个不同的拦截器,用逗号分隔。

于 2012-05-09T16:15:31.027 回答