public class MessageReplyHandler extends java.lang.Object implements Handler<Result>
- トランザクション制御ハンドラ 同ハンドラとの前後関係は、2相コミットを使用するか否かで変わる。 a) 2相コミットを使用する場合。 DBトランザクションとJMSトランザクションをトランザクションマネージャー側で まとめてコミットするので、トランザクション制御ハンドラは、このハンドラより 先に実行されなければならない。 b) 2相コミットを使用しない場合。 このハンドラが応答を送信する前に、DBトランザクション終了させ、業務処理の結果を 確定させる必要がある。 このため、トランザクション制御ハンドラはこのハンドラの後に実行されなければ ならない。 - データリードハンドラ 要求電文のフォーマット不正に起因する例外はデータリーダで発生する可能性があり、 そのエラー応答電文をこのハンドラで送出する必要がある。 このため、データリードハンドラはこのハンドラの後に実行されなければならない。
1. 後続ハンドラが正常終了していた(=応答電文オブジェクトがリターンされていた)場合。 送信エラーを再送出する。 2. 後続ハンドラが異常終了していた(=実行時例外/エラーが送出されていた)場合。 送信エラーの内容をWarningレベルのログに出力した上で、 後続ハンドラが送出した例外を再送出する。
Constructor and Description |
---|
MessageReplyHandler()
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
protected ResponseMessage |
errorResponseOf(java.lang.Throwable e,
ExecutionContext ctx)
後続ハンドラの処理中に未捕捉の例外が発生した場合に応答するエラー電文を作成する。
|
@Published(tag="architect") public MessageReplyHandler()
@Published(tag="architect") protected ResponseMessage errorResponseOf(java.lang.Throwable e, ExecutionContext ctx)
ctx
- 実行コンテキストe
- 発生した例外