Package nablarch.fw.messaging
Class MessageSender
java.lang.Object
nablarch.fw.messaging.MessageSender
対外システムに対するメッセージの同期送信を行うユーティリティクラス。
本ユーティリティはキューを使用した通信と、HTTP通信をサポートする。
キューを使用した通信について
本ユーティリティはフレームワーク制御ヘッダの利用を前提としており、 再送電文フラグを利用した再送/タイムアウト制御等の機能を実装している。
キューを使用した通信では、カレントスレッドに紐づけられている
本ユーティリティはフレームワーク制御ヘッダの利用を前提としており、 再送電文フラグを利用した再送/タイムアウト制御等の機能を実装している。
キューを使用した通信では、カレントスレッドに紐づけられている
MessagingContext
を利用してメッセージ送信を行う。
そのため、MessagingContextHandler
をハンドラキューに追加する必要がある。
MessagingContextの設定方法についてはMessageSenderSettings(String)
を参照。-
Method Summary
Modifier and TypeMethodDescriptionstatic SyncMessage
sendSync
(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
- タイムアウトが発生し、同期送信が正常終了しなかった場合
-