Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

[目次][用語][索引][前へ][次へ]

1.4.4 DBサーバの共有

Reliable MessagingはDBサーバが動作するマシンとは異なるマシンで動作できます。この場合,マシン間をLAN回線などで接続します。DBサーバの共有は,永続版リソースアダプタだけが利用できます。

1台のマシンには一つ以上のReliable Messagingを動作させることができます。また,複数のReliable Messagingで一つのDBサーバを共有できます。

しかし,一つのReliable Messagingが複数のDBサーバに接続することはできません。

DBサーバの共有を次の図に示します。

図1-9 DBサーバの共有

[図データ]

<この項の構成>
(1) 管理情報テーブルとの対応関係
(2) XATransaction利用時のリソースアダプタ間でのDB共有の制限

(1) 管理情報テーブルとの対応関係

Reliable Messagingは,メッセージを格納するキューや管理情報をDB上の管理情報テーブルに保存します。管理情報テーブルは,Reliable Messagingに1:1に対応する必要があります。複数のReliable Messagingで一つの管理情報テーブルを共有できません。特に,一つのJ2EEサーバ上で複数のReliable Messagingを動作させる場合はご注意ください。

管理情報テーブルはRMSystemNameプロパティ指定値によって特定のReliable Messagingと対応づけられます。複数のReliable Messagingがある場合は,システム間でRMSystemNameプロパティ指定値を一意にしてください。

管理情報テーブルの作成方法については,HiRDBの場合は「3.4.1(3) Reliable Messagingの管理情報テーブルの作成」を,Oracleの場合は「3.4.2(3) Reliable Messagingの管理情報テーブルの作成」を参照してください。

Reliable Messagingと管理情報テーブルの対応を次の図に示します。

図1-10 Reliable Messagingと管理情報テーブルの対応

[図データ]

図中の番号(a)〜(c)について説明します。

(a)
Reliable Messaging(1)がDB上の管理情報テーブル(1)と1:1に対応しています。

(b)
Reliable Messaging(2)がDB上の管理情報テーブル(2)と1:1に対応しています。Reliable Messaging(3)がDB上の管理情報テーブル(3)と1:1に対応しています。
管理情報テーブル(2)と管理情報テーブル(3)は,同じDB上に作成されています。

(c)
Reliable Messaging(4)とReliable Messaging(5)がDB上の管理情報テーブル(4)を共有しようとしています。これはReliable Messagingがサポートしない不正な構成です。

(2) XATransaction利用時のリソースアダプタ間でのDB共有の制限

トランザクションのサポートレベルがXATransactionで,Reliable Messagingのほかにも,DBに関連するリソースアダプタ(DB Connectorなど)が動作し,各リソースアダプタが同じDBを使用する場合は,次に示す制限があります。

(a) 一つのJ2EEサーバ内の複数のリソースアダプタが共通のDBを利用する場合

接続先DBがHiRDBのとき
XAOpen文字列の値は,リソースアダプタごとに一意となるように指定してください。Reliable Messagingでは,XAOpen文字列を連携先のDB Connectorに指定します。

接続先DBがOracleのとき
連携先のDB Connectorとの間でDBコネクションを共有するときだけDBを共有できます。この場合,一つのJ2EEサーバ上に複数のReliable Messagingをデプロイして利用できません。

一つのJ2EEサーバ上で複数のリソースアダプタを利用する場合の,リソースアダプタのDB共有を次の図に示します。

図1-11 リソースアダプタのDB共有(J2EEサーバが一つの場合)

[図データ]

(b) 複数のJ2EEサーバ内の複数のリソースアダプタが共通のDBを利用する場合

接続先DBがHiRDBのとき
XAOpen文字列の値は,リソースアダプタごとに一意となるように指定してください。Reliable Messagingでは,XAOpen文字列を連携先のDB Connectorに指定します。

接続先DBがOracleのとき
特に制限はありません。

複数のJ2EEサーバ上で複数のリソースアダプタを利用する場合の,リソースアダプタのDB共有を次の図に示します。

図1-12 リソースアダプタのDB共有(J2EEサーバが複数の場合)

[図データ]