Одним из решений может быть использование глобальной функции перехватчика конвейера действий, доступной начиная с 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>
Вы можете настроить несколько различных перехватчиков, разделенных запятой.