リストア情報
Outbound取引応答処理の際に、標準電文ヘッダーのリストアのため、およびインターフェースの取引処理時間計算などのために、FEPでは、必ずリストア情報を保存してからリストア処理を実行する必要がある。
要求電文と応答電文を処理するFEPインスタンスが同じ、または異なる場合がある。 インスタンスが異なる場合、リストア情報を共有するための保存媒体が別途必要である。
FEPでは、リストア情報を処理するための保存媒体としてDB、CACHE(Local or IMDG)が使用可能である。
フロー
要求電文処理時のリストア情報の保存フロー
応答電文処理時のリストア情報のリストアフロー
システムパラメータ
リストア情報を処理するためのシステムパラメータの設定情報は下記のとおりである。
設定KEY | 設定値 |
---|---|
RESTORATION_MEDIA_TYPE | ALL : DBとCacheをすべて使用 DB : DBのみ使用 CACHE : Local or IMDGのうち、1つを選択して使用 |
RESTORATION_BROADCAST_YN | CACHE-Localを使用する時、リストア情報をBroadcastingするかどうか リストア情報を同じ機関が属するインスタンスでBroadcast |
RESTORATION_IMDG_CONNECTION_INFO | CACHE-IMDGを使用する時、保存媒体のInfinispan接続IP : Port情報を入力 Infinispanサーバーが複数台接続されている時、 ; 区切り文字を使用•例)172.0.0.1:11200;172.0.0.2:11200;172.0.0.3:11200 Infinispan以外のIMDG製品を使用する時、当該オプションは適用されない |
保存媒体
DB
リストア情報の処理時には、DBを使用する。
DBは、FEPインスタンス同士で共有されているため、要求と応答で異なるインスタンスで処理を行っている場合に使用可能である。InfinispanなどIMDGソリューションを導入していない場合の使用を推奨する。
CACHE
CACHEは、リストア情報の保存媒体を、インスタンスLocal Memory(LOCAL)として使用する方法、とIMDGとして使用する方法のうち、一方を選択して使用することができる。
システムパラメータCACHE_TYPE
をCACHEに設定した後、ApplicationContext.xml
環境設定ファイル内、Bean設定中IDが、cacheMessageRestorationProcess
であるBeanのクラスを指定して、保存媒体を選択することができる。
FEPが提供する保存媒体のクラス項目は、下記のとおりである。
bean ID | クラス |
---|---|
cacheMessageRestorationProcess | bxi.online.restoration.LocalMapMessageRestorationProcess : Local Memory使用 bxi.online.restoration.InfinispanMessageRestorationProcess : IMDG - Infinispan使用 他のIMDGを使用する時、カスタマイズProcessを登録 |
LOCAL
LOCALは、BXIインスタンスのLocal Memoryを使用する。Local Memoryを使用する場合、基本的にリストア情報のインスタンス間の共有ができない。 したがって、単一インスタンスで要求/応答電文が処理される場合に、当該機能の使用を推奨する。
Broadcasting機能
リストア情報をインスタンス間で共有するための機能であり、LOCALの場合にのみ当該機能が有効になる。
要求を処理したインスタンスで、同一機関が含まれている他のインスタンスに、リストア情報をBroadcastする。 当該機能は、他のインスタンスで応答処理する時に、通信プロトコルを通じて要求インスタンスから読み込む処理が付加的に行われる。
したがって、高性能および高可用性が要求されるサイトでは、当該機能を使用しないことを推奨する。
IMDG
FEPではIMDG製品のうち、Infinispanを活用した機能を基本提供する。 Infinispanのクライアントとして動作するため、必ずInfinispanサーバーを別途インストールする必要があり、高可用性のために、FEP以外の別のノードにインストールすることを推奨する。 Infinispan以外の他のIMDGを使用する場合、サイトのCustomizingが必要である。
ALL
CACHEとDBを使用してリストア情報を処理する。 保存およびリストアする時、CACHE > DBの順に処理し、CACHE処理が失敗した場合にのみDBを使用して処理する。 CACHEは上で定義したように、Local Memory方式、またはIMDG方式のうち、いずれか一方のみ選択可能である。