1

HTTPゲートウェイを介したPOSTリクエストからメッセージが作成されています。私が本当に望んでいるのは、ESBのアクションから例外をキャッチし、それをデータベースに記録できるようにする方法です。メッセージヘッダーに障害の設定に関する情報がいくつか表示されましたが、メッセージがhttpゲートウェイから送信されているときに障害を設定する方法が見つかりません。また、いくつかのアクションが他のメッセージを作成し、それらに設定するためにフォールトが必要になるため、フォールトがこれを行うための最良の方法であるかどうかはわかりません。

4

1 に答える 1

3

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>

コンマで区切って、いくつかの異なるインターセプターを構成できます。

于 2012-05-09T16:15:31.027 に答える