Package nablarch.fw.messaging
Class RequestMessage
java.lang.Object
nablarch.fw.messaging.InterSystemMessage<ReceivedMessage>
nablarch.fw.messaging.ReceivedMessage
nablarch.fw.messaging.RequestMessage
- Direct Known Subclasses:
StructuredRequestMessage
外部システムから受信した処理要求電文の内容を格納し、対応する応答電文を作成するクラス。
ReceivedMessage
と比べて、以下の処理が追加されている。
- フレームワーク制御ヘッダ(
FwHeader
)を保持する - 応答電文(
ResponseMessage
)オブジェクトを作成する
1. プロトコルヘッダ (Map) - メッセージID (String) - 宛先キュー名 (String) ...等 2. フレームワーク制御ヘッダ (Map) - リクエストID (String) - ユーザID (String) - 再送制御フラグ (Boolean) - 処理結果ステータスコード (String) ...等 3. メッセージボディ(byte[]) ※ フレームワーク制御ヘッダに相当するデータは含まれない。このクラスは
Request
インタフェースを実装しており、後続業務処理の入力となる。
(リクエストパスとして、フレームワーク制御ヘッダのリクエストIDを使用する。)-
Nested Class Summary
Nested classes/interfaces inherited from class nablarch.fw.messaging.InterSystemMessage
InterSystemMessage.HeaderName
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected ResponseMessage
応答電文オブジェクトを作成する。フレームワーク制御ヘッダの内容を返す。リクエストパスを取得する。reply()
この電文に対する応答電文(ResponseMessage
)オブジェクトを作成する。setFormatterOfReply
(DataRecordFormatter formatter) 応答電文のフォーマットを指定する。setRequestPath
(String requestPath) リクエストパスを設定する。Methods inherited from class nablarch.fw.messaging.ReceivedMessage
getBodyBytes, readRecord, readRecords
Methods inherited from class nablarch.fw.messaging.InterSystemMessage
getCorrelationId, getDestination, getFormatter, getHeader, getHeaderMap, getMessageId, getParam, getParamMap, getRecordOf, getRecords, getRecordsOf, getReplyTo, setCorrelationId, setDestination, setFormatter, setHeader, setHeaderMap, setMessageId, setReplyTo
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface nablarch.fw.Request
getParam, getParamMap
-
Constructor Details
-
RequestMessage
- Parameters:
header
- フレームワーク制御ヘッダmessage
- 受信電文オブジェクト(フレームワーク制御ヘッダに相当するデータが抜き出し済みであること)
-
-
Method Details
-
reply
この電文に対する応答電文(ResponseMessage
)オブジェクトを作成する。InterSystemMessage.setFormatter(nablarch.core.dataformat.DataRecordFormatter)
で応答電文のフォーマットが指定されている場合はそれを設定する。 指定がなければ、InterSystemMessage.getFormatter()
を実行し、電文共通のフォーマットを取得して設定する。 応答電文オブジェクトの生成については、createResponseMessage()
を参照。- Returns:
- 返信用電文オブジェクト
- Throws:
MessagingException
- この電文にReplyToヘッダが指定されていない場合。UnsupportedOperationException
-
createResponseMessage
応答電文オブジェクトを作成する。 この実装では、応答電文オブジェクトのヘッダの設定はResponseMessage(RequestMessage)
にて行われる。 デフォルト以外の応答電文クラスを使用する場合はサブクラスで本メソッドをオーバーライドすること。- Returns:
- 応答電文オブジェクト
-
getRequestPath
リクエストパスを取得する。- Specified by:
getRequestPath
in interfaceRequest<Object>
- Returns:
- リクエストパス
- Throws:
IllegalArgumentException
-requestPath
がnull
か空文字である場合
-
setRequestPath
リクエストパスを設定する。- Specified by:
setRequestPath
in interfaceRequest<Object>
- Parameters:
requestPath
- リクエストパス- Returns:
- オブジェクト自体
-
getFwHeader
フレームワーク制御ヘッダの内容を返す。- Returns:
- フレームワーク制御ヘッダ部の内容
-
setFormatterOfReply
応答電文のフォーマットを指定する。- Parameters:
formatter
- 応答電文のフォーマット- Returns:
- このオブジェクト自体
-