Cosminexus RMはDBサーバが動作するマシンとは異なるマシンで動作できます。この場合,マシン間をLAN回線などで接続します。DBサーバの共有は,永続版リソースアダプタだけが利用できます。
1台のマシンには一つ以上のCosminexus RMを動作させることができます。また,複数のCosminexus RMで一つのDBサーバを共有できます。
しかし,一つのCosminexus RMが複数のDBサーバに接続することはできません。
DBサーバの共有について,次の図に示します。
図1-9 DBサーバの共有
Cosminexus RMは,メッセージを格納するキューや管理情報をDB上の管理情報テーブルに保存します。管理情報テーブルは,Cosminexus RMに1:1に対応する必要があります。複数のCosminexus RMで一つの管理情報テーブルを共有できません。特に,一つのJ2EEサーバ上で複数のCosminexus RMを動作させる場合はご注意ください。
管理情報テーブルはRMSystemNameプロパティ指定値によって特定のCosminexus RMと対応づけられます。複数のCosminexus RMがある場合は,システム間でRMSystemNameプロパティ指定値を一意にしてください。
管理情報テーブルの作成方法については,HiRDBの場合は「3.4.1(3) Cosminexus RMの管理情報テーブルの作成」を,Oracleの場合は「3.4.2(3) Cosminexus RMの管理情報テーブルの作成」を参照してください。
Cosminexus RMと管理情報テーブルの対応について,次の図に示します。
図1-10 Cosminexus RMと管理情報テーブルの対応
図中の番号(a)~(c)について説明します。
トランザクションのサポートレベルがXATransactionで,Cosminexus RMのほかにも,DBに関連するリソースアダプタ(DB Connectorなど)が動作し,各リソースアダプタが同じDBを使用する場合は,次に示す制限があります。
一つのJ2EEサーバ上で複数のリソースアダプタを利用する場合の,リソースアダプタのDB共有について,次の図に示します。
図1-11 リソースアダプタのDB共有(J2EEサーバが一つの場合)
複数のJ2EEサーバ上で複数のリソースアダプタを利用する場合の,リソースアダプタのDB共有について,次の図に示します。
図1-12 リソースアダプタのDB共有(J2EEサーバが複数の場合)