![]() |
Sun ONE Message Queue 管理者ガイド |
付録 A プラグイン持続の設定
この付録では、JDBC アクセスが可能なデータストアにアクセスするために、プラグイン持続を使用するブローカの設定方法について説明します。
概要
MQ のブローカには、持続情報の書き込みおよび検索を管理する持続マネージャのコンポーネントが含まれています (「持続マネージャ」を参照)。デフォルトでは、持続マネージャは、組み込みのファイルベースのデータストアにアクセスするように設定されていますが、持続マネージャを再設定して、JDBC 互換ドライバを介したアクセスが可能な任意のデータストアに接続できます。プラグイン持続を使用するようにブローカを設定するには、ブローカインスタンスの設定ファイルに、多数の JDBC 関連のプロパティを設定する必要があります。また、MQ の持続処理を実行するために、適切なデータベーススキーマを作成する必要があります。MQ には、JDBC ドライバおよびブローカの設定プロパティを使用して、プラグインデータベースの作成および管理を行うデータベース管理ユーティリティ (imqdbmgr) が用意されています。
この付録に示す手順は、例として Java 2 SDK Enterprise Edition (J2EE SDK は java.sun.com からダウンロード可能) にバンドルされる Cloudscape DBMS を使用して説明しています。例では、クライアント / サーババージョンの代わりに、Cloudscape の組み込みバージョンを使用します。手順の指示は、Cloudscape の例のパス名とプロパティ名を使用しています。これらは、「例 :」という言葉で識別されます。
- IMQ_HOME/demo/jdbc (Solaris では /usr/demo/imq/jdbc )
JDBC アクセスが可能なデータストアへの接続
JDBC アクセスが可能なデータストアに接続するには、次の手順を実行するだけです。
ブローカの設定ファイルに、JDBC 関連のプロパティを設定します。
次のパスに、JDBC ドライバの jar ファイルのコピーまたはシンボリックリンクを配置します。
- 表 A-1 に示すプロパティを参照してください。
MQ の持続に必要なデータベーススキーマを作成します。
- IMQ_VARHOME/lib/ext (Solaris では /usr/share/lib/imq/ext/)
- コピーの例 (Solaris) :
- % cp j2sdk_install_directory/lib/cloudscape/cloudscape.jar IMQ_VARHOME/lib/ext
- シンボリックリンクの例 (Solaris) :
- % ln -s j2sdk_install_directory/lib/cloudscape/cloudscape.jar IMQ_VARHOME/lib/ext
- 組み込みデータベース用の imqdbmgr create all コマンドまたは外部データベース用の imqdbmgr create tbl コマンドを使用します。「データベース管理ユーティリティ (imqdbmgr)」を参照してください。
- 例 :
- % cd IMQ_HOME/bin (Solaris では /usr/bin)
- % imqdbmgr create all
JDBC 関連のブローカの設定プロパティ
ブローカのインスタンス設定ファイルは、次の場所に配置されます。
ファイルが存在しない場合、ファイルを作成する MQ に対して、-name brokerName オプションを使用して、ブローカを起動する必要があります。
- IMQ_VARHOME/instances/brokerName/props/config.properties
表 A-1 に、JDBC アクセスが可能なデータストアに接続する場合に、設定が必要な設定プロパティを示します。プラグイン持続を使用して、各ブローカインスタンスのインスタンス設定ファイル (config.properties) に、これらのプロパティを設定します。この表には、Cloudscape DBMS の例で指定する値が含まれています。
表 A-1    JDBC 関連のプロパティ
プロパティ名
説明
imq.persist.store
imq.persist.jdbc.brokerid
(省略可能)
複数のブローカインスタンスが、持続データストアとして、同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されるブローカインスタンス識別子を指定する。通常、1 つのブローカインスタンスだけのデータを格納する組み込みデータベースでは不要。識別子には、英数字を使用し、データベースで許可されているテーブル名の最大数 12 を超えないようにする必要がある
imq.persist.jdbc.driver
imq.persist.jdbc.opendburl
既存データベースへのコネクションを開くためのデータベース URL を指定する
例 : jdbc:cloudscape:IMQ_VARHOME/
instances/brokerName/dbstore/imqdb
imq.persist.jdbc.createdburl
(省略可能)
データベースを作成するコネクションを開くためのデータベース URL を指定する。imqdbmgr を使用して、データベースを作成する場合にだけ指定する
例 : jdbc:cloudscape:IMQ_VARHOME/
instances/brokerName/dbstore/
imqdb;create=true
imq.persist.jdbc.closedburl
(省略可能)
ブローカをシャットダウンする場合に、現在のデータベースコネクションをシャットダウンするためのデータベース URL を指定する
imq.persist.jdbc.user
(省略可能)
必要に応じて、データベースコネクションを開くときに使用するユーザ名を指定する。セキュリティ上の理由から、代わりに、次のコマンド行オプションを使用して値を指定できる
imqbrokerd -dbuser および imqdbmgr -uimq.persist.jdbc.needpassword
(省略可能)
データベースでブローカのアクセスにパスワードを必要とするかどうかを指定する。値を true にすると、パスワードが必要になる。パスワードは、次のコマンド行オプションを使用して指定できる
imqbrokerd -dbpassword imqdbmgr -pコマンド行オプション、またはパスファイル (「passfile の使用」を参照) のどちらかを使用してパスワードを指定しないと、ブローカによってパスワードの入力が要求される
imq.persist.jdbc.password
(省略可能)
必要に応じて、データベースコネクションを開くときに使用するパスワードを指定する。このパスワードは、パスファイル内だけで指定可能 (「passfile の使用」を参照)。セキュリティを向上させるために、ブローカにパスワードの入力を要求させるか、あるいは次のコマンド行オプションを使用してパスワードを指定する
imqbrokerd -dbpassword imqdbmgr -p
すべてのブローカ設定プロパティと同様に、値は -D コマンド行オプションを使用して設定できます。データベースで特定のデータベース固有プロパティを設定する必要がある場合、ブローカ (imqbrokerd) の起動時に、-D コマンド行オプションを使用するか、あるいは Database Manager ユーティリティ (imqdbmgr) を使用して設定することができます。
Cloudscape の組み込みデータベース例の場合、データベースコネクション URL (表 A-1 の例を参照) に、データベースの絶対パスを指定する代わりに、-D コマンド行オプションを使用して、Cloudscape システムディレクトリを定義することができます。
この場合、データベースを作成したり、開いたりするための URL は、それぞれ次のように指定できます。
- -Dcloudscape.system.home=IMQ_VARHOME/instances/brokerName/dbstore
および
- imq.persist.jdbc.createdburl=jdbc:cloudscape:imqdb;create=true
- imq.persist.jdbc.opendburl=jdbc:cloudscape:imqdb
データベース管理ユーティリティ (imqdbmgr)
MQ には、持続に必要なスキーマをセットアップするためのデータベース管理ユーティリティ (imqdbmgr) が用意されています。データベーステーブルが破損した場合や別のデータベースをデータストアとして使用する場合に、このユーティリティを使用して、MQ のデータベーステーブルを削除することもできます。組み込みデータベースを使用し、IMQ_VARHOME/instances/brokerName/ ディレクトリの下に、データベースを作成する場合は、次のディレクトリの下に作成することをお勧めします。
組み込みデータベースは、ユーザ名とパスワードで保護されていない場合、ファイルシステムのアクセス権によって保護される可能性があります。ブローカがデータベースを読み取ったり、書き込んだりするためには、ブローカを実行するユーザが、組み込みデータベースを作成するのに使用する imqdbmgr コマンドを実行する必要があります。
- IMQ_VARHOME/instances/brokerName/dbstore/dabatabseName.
表 A-2 に imqdbmgr のサブコマンドを一覧表示します。
表 A-3 に imqdbmgr コマンドのオプションを一覧表示します。
表 A-3    imqdbmgr のオプション
オプション
説明
-Dproperty=value
-b name
-h
-p passwd
-u name
-v
前へ 目次 索引 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最終更新日 2002 年 6 月 19 日