Interface | Description |
---|---|
HttpMessageIdGenerator |
HTTP通信時に使用するメッセージID生成。
|
MessageSenderClient |
MessageSender から呼び出される通信機能の基本APIの実装系を提供するモジュールが実装するインターフェース。 |
MessagingProvider |
メッセージング機能の基本API(
MessagingContext )の実装系を提供する
モジュールが実装するインターフェース。
本インターフェースの実装系の切り替えによって多様なメッセージングミドルウェアに
対応することができる。 |
SyncMessagingEventHook |
メッセージ送信の処理前後に処理を行うためのインターフェイス。
|
Class | Description |
---|---|
FwHeader |
電文中のフレームワーク制御ヘッダ部の内容をMapとして格納するクラス。
フレームワーク制御ヘッダ
本フレームワークが提供する機能の中には、電文中に特定の制御項目が定義されている ことを前提として設計されているものが多く存在する。 そのような制御項目のことを「フレームワーク制御ヘッダ」とよぶ。 フレームワーク制御ヘッダの一覧とそれを使用するハンドラの対応は以下のとおり。 |
InterSystemMessage<TSelf extends InterSystemMessage<?>> |
外部システムに対する送受信電文の内容を格納するデータオブジェクト。
このオブジェクトは以下のデータを保持する。
プロトコルヘッダー
メッセージボディ
|
MessageSender |
対外システムに対するメッセージの同期送信を行うユーティリティクラス。
本ユーティリティはキューを使用した通信と、HTTP通信をサポートする。
キューを使用した通信について
本ユーティリティはフレームワーク制御ヘッダの利用を前提としており、 再送電文フラグを利用した再送/タイムアウト制御等の機能を実装している。 キューを使用した通信では、カレントスレッドに紐づけられている MessagingContext を利用してメッセージ送信を行う。
そのため、nablarch.fw.messaging.handler.MessagingContextHandler をハンドラキューに追加する必要がある。
MessagingContextの設定方法についてはMessageSenderSettings.MessageSenderSettings(String) を参照。 |
MessageSenderSettings |
MessageSender の設定情報を保持するクラス。 |
MessagingContext |
メッセージングサーバとの間に開かれるセッションに対するラッパー。
このクラスのインスタンスはスレッドローカル変数上で管理されており、
MessagingContext.getInstance() を用いてインスタンスを獲得する。
本クラスでは、以下の機能を提供する。
メッセージ送信
メッセージ同期送信
メッセージ受信
|
ReceivedMessage |
対外システムから受信した電文を表すクラス。
|
RequestMessage |
外部システムから受信した処理要求電文の内容を格納し、対応する応答電文を作成するクラス。
ReceivedMessage と比べて、以下の処理が追加されている。
フレームワーク制御ヘッダ(FwHeader )を保持する
応答電文(ResponseMessage )オブジェクトを作成する
本クラスは以下のデータを格納する。 |
ResponseMessage |
本システムに対する要求電文への応答電文を表すクラス。
本クラスでは、RequestMessageと同様、応答電文の内容をフレームワークヘッダ部と
業務データ部に分離して管理しており、業務ロジックからは業務データ部しか操作できない
ようになっている。
メッセージボディを直列化する際には、フレームワークヘッダ部と業務データ部をそれぞれ
直列化して連結したものを返す。
|
SendingMessage |
対外システムに対する仕向け要求電文を表すクラス。
|
StructuredResponseMessage |
構造化されたデータを取り扱うために、addRecord時にデータをすぐに書き込まず、メモリ上にキャッシュする応答メッセージ。
|
SyncMessage |
電文(同期送信、同期応答)を保持するクラス。
|
SyncMessageConvertor |
メッセージ同期送信に使用する電文を変換するクラス。
|
Exception | Description |
---|---|
ErrorResponseMessage |
エラー応答として送信する電文情報を含んだ実行時例外。
本クラスを送出することで、業務トランザクションはロールバックしつつ、
任意の内容の応答電文を送信することができる。
|
MessageReadError |
メッセージデータリーダによる受信電文の読み込み処理の最中にエラーが発生した場合に
送出される例外。
受信電文のGETには成功したが、フレームワークヘッダ領域の読み込みに失敗した場合に
送出される。
この例外が送出された場合、業務処理へのディスパッチは発生しない。
|
MessageSendSyncTimeoutException |
送信した電文に対する応答電文をタイムアウト時間内に受信することができなかった場合に
送出される例外。
|
MessagingException |
メッセージ処理において問題が発生した場合に送出される実行時例外。
|