Package nablarch.fw.messaging
Class SyncMessageConvertor
java.lang.Object
nablarch.fw.messaging.SyncMessageConvertor
メッセージ同期送信に使用する電文を変換するクラス。
本クラスは下記の変換を行う。 要求電文(SyncMessage
)→送信電文(SendingMessage
)[初回送信時、再送時] 受信電文(ReceivedMessage
)→応答電文(SyncMessage
)[受信時]
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionconvertOnReceiveSync
(MessageSenderSettings settings, SyncMessage requestMessage, SendingMessage sendingMessage, ReceivedMessage receivedMessage) 受信電文を応答電文に変換する。(受信時)convertOnRetry
(MessageSenderSettings settings, SyncMessage requestMessage, SendingMessage timeoutMessage, int retryCount) 要求電文を送信電文に変換する。(再送時)convertOnSendSync
(MessageSenderSettings settings, SyncMessage requestMessage) 要求電文を送信電文に変換する。(初回送信時)protected SendingMessage
createSendingMessage
(MessageSenderSettings settings, SyncMessage requestMessage) 指定された設定情報をもとに送信電文を作成する。
-
Constructor Details
-
SyncMessageConvertor
public SyncMessageConvertor()
-
-
Method Details
-
convertOnSendSync
要求電文を送信電文に変換する。(初回送信時)指定された設定情報をもとに送信電文を作成する。 フレームワーク制御ヘッダ以外の設定は
createSendingMessage(MessageSenderSettings, SyncMessage)
メソッドに委譲する。FwHeader
を使用して下記のフレームワーク制御ヘッダを設定する。 リクエストIDヘッダ: 送信電文の設定情報が保持している送信用リクエストID 再送電文フラグ: 初回を表す"0"。再送しない場合は設定しない- Parameters:
settings
- 送信電文の設定情報requestMessage
- 要求電文- Returns:
- 送信電文
-
convertOnRetry
public SendingMessage convertOnRetry(MessageSenderSettings settings, SyncMessage requestMessage, SendingMessage timeoutMessage, int retryCount) 要求電文を送信電文に変換する。(再送時)指定された設定情報をもとに送信電文を作成する。 フレームワーク制御ヘッダ以外の設定は
createSendingMessage(MessageSenderSettings, SyncMessage)
メソッドに委譲する。FwHeader
を使用して下記のフレームワーク制御ヘッダを設定する。 リクエストIDヘッダ: 送信電文の設定情報が保持している送信用リクエストID 再送電文フラグ: 再送を表す"1" 再送する送信電文には、タイムアウトした送信電文と関連付けるために、 タイムアウトした送信電文のメッセージIDを設定する。 本実装ではリトライ回数を使用しない。- Parameters:
settings
-MessageSender
の設定情報requestMessage
- 要求電文timeoutMessage
- タイムアウトした送信電文retryCount
- リトライ回数。初回送信時は0- Returns:
- 送信電文
-
createSendingMessage
protected SendingMessage createSendingMessage(MessageSenderSettings settings, SyncMessage requestMessage) 指定された設定情報をもとに送信電文を作成する。設定情報から下記の項目を送信電文に設定する。 送信宛先キューの論理名 応答宛先キューの論理名 メッセージボディ部にヘッダとデータを追加する。 下記のレコードタイプを使用する。 ヘッダ: "header" データ: "data"
- Parameters:
settings
-MessageSender
の設定情報requestMessage
- 要求電文- Returns:
- 送信電文
-
convertOnReceiveSync
public SyncMessage convertOnReceiveSync(MessageSenderSettings settings, SyncMessage requestMessage, SendingMessage sendingMessage, ReceivedMessage receivedMessage) 受信電文を応答電文に変換する。(受信時)設定情報が提供するフォーマッタを使用して、 受信電文のメッセージボディ部からヘッダとデータを取り出し、応答電文を作成する。 本実装では送信電文を使用しない。
- Parameters:
settings
-MessageSender
の設定情報requestMessage
- 要求電文sendingMessage
- 送信電文receivedMessage
- 受信電文- Returns:
- 応答電文
-