我通过HTTP网关从邮件请求创建了一条消息。我真正喜欢的是一种方法,可以从ESB中的任何操作捕获任何异常,并能够将其记录到数据库中。我在消息头中看到了一些关于设置故障的信息,但是当消息来自http网关时,我找不到设置它的方法。此外,我不确定故障是否是最好的方法,因为某些操作会创建其他消息,而这些消息又必须为它们设置故障。
答案 0 :(得分:3)
一种解决方案可能是使用自JBoss ESB 4.11以来可用的全局操作管道拦截器功能,它允许您为所有服务配置全局拦截器并拦截服务实例化,服务启动,服务结束和服务故障的流程。 / p>
这里描述: 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>
您可以配置以逗号分隔的多个不同拦截器。