Package nablarch.fw.messaging
Class MessageSender
java.lang.Object
nablarch.fw.messaging.MessageSender
対外システムに対するメッセージの同期送信を行うユーティリティクラス。
本ユーティリティはキューを使用した通信と、HTTP通信をサポートする。
キューを使用した通信について
本ユーティリティはフレームワーク制御ヘッダの利用を前提としており、 再送電文フラグを利用した再送/タイムアウト制御等の機能を実装している。
キューを使用した通信では、カレントスレッドに紐づけられている
本ユーティリティはフレームワーク制御ヘッダの利用を前提としており、 再送電文フラグを利用した再送/タイムアウト制御等の機能を実装している。
キューを使用した通信では、カレントスレッドに紐づけられている
MessagingContextを利用してメッセージ送信を行う。
そのため、MessagingContextHandlerをハンドラキューに追加する必要がある。
MessagingContextの設定方法についてはMessageSenderSettings(String)を参照。- Author:
- Kiyohito Itoh
-
Method Summary
Modifier and TypeMethodDescriptionstatic SyncMessagesendSync(SyncMessage requestMessage) 対外システムにメッセージを送信し、応答された電文を返す。
-
Method Details
-
sendSync
public static SyncMessage sendSync(SyncMessage requestMessage) throws MessageSendSyncTimeoutException 対外システムにメッセージを送信し、応答された電文を返す。 電文の設定情報について
MessageSenderSettings(String)を実行して、対象リクエストの設定情報を取得する。 要求電文の作成について
要求電文の作成処理はSyncMessageConvertorに委譲する。 SyncMessageConvertorの取得方法は、getSyncMessageConvertor(MessageSenderSettings)メソッドのJavaDocを参照。 デフォルトでは、フレームワークが提供するSyncMessageConvertorをそのまま使用する。 メッセージの再送について
キューを使用した通信では、設定によりリトライ回数が指定されている場合、 タイムアウト発生時に指定された回数まで再送を行う。
HTTP通信では再送を行わない。 メッセージ送受信中にエラーが発生した場合、SyncMessagingEventHookにエラー処理を委譲する。 SyncMessagingEventHookの設定方法はMessageSenderSettings(String)のJavaDocを参照。- Parameters:
requestMessage- 要求電文- Returns:
- 応答電文
- Throws:
IllegalArgumentException- 要求電文の設定情報に問題がある場合MessageSendSyncTimeoutException- タイムアウトが発生し、同期送信が正常終了しなかった場合
-