All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.fw.messaging.SyncMessagingEventHook Maven / Gradle / Ivy

The newest version!
package nablarch.fw.messaging;

import nablarch.core.util.annotation.Published;

/**
 * メッセージ送信の処理前後に処理を行うためのインターフェイス。
* *

* {@link MessageSender#sendSync(SyncMessage)}で電文を送受信する際、処理を差し込む際に使用する。
* 本インターフェースを実装したクラスに、差し込みたい処理を記述する。 * * どの電文を送受信した際に処理を差し込むかの設定は、メッセージングプロバイダ定義ファイルと、コンポーネント定義ファイルを用いて行う。 *

* * @author TIS * @see MessageSender */ @Published(tag = "architect") public interface SyncMessagingEventHook { /** * メッセージ送信前に呼ばれる処理。 * * @param settings メッセージ送信設定 * @param requestMessage 送信対象メッセージ */ void beforeSend(MessageSenderSettings settings, SyncMessage requestMessage); /** * メッセージ送信後、レスポンスを受け取った後に呼ばれる処理。 * * @param settings メッセージ送信設定 * @param requestMessage リクエストメッセージ * @param responseMessage レスポンスメッセージ */ void afterSend(MessageSenderSettings settings, SyncMessage requestMessage, SyncMessage responseMessage); /** * メッセージ送信中のエラー発生時に呼ばれる処理。 * * @param e 発生した例外 * @param hasNext 次に呼び出される{@link SyncMessagingEventHook}が存在する場合にtrue * @param settings メッセージ送信設定 * @param requestMessage リクエストメッセージ * @param responseMessage レスポンスメッセージとして使用するオブジェクト。本オブジェクトは最終的に{@link MessageSender#sendSync(SyncMessage)}の戻り値として返却される。 * @return trueの場合は処理継続。次の{@link SyncMessagingEventHook#onError(RuntimeException, MessageSenderSettings, SyncMessage)}を呼ぶ。
* 次がない場合は、{@link MessageSender#sendSync(SyncMessage)}}の戻り値として、引数responseMessageの値を返す。
* falseの場合は、本メソッド終了後に引数eをthrowする */ boolean onError(RuntimeException e, boolean hasNext, MessageSenderSettings settings, SyncMessage requestMessage, SyncMessage responseMessage); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy