Sun ONE ロゴ      前へ      目次      索引      次へ     
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 アクセスが可能なデータストアに接続するには

  1. ブローカの設定ファイルに、JDBC 関連のプロパティを設定します。

    表 A-1 に示すプロパティを参照してください。

  2. 次のパスに、JDBC ドライバの jar ファイルのコピーまたはシンボリックリンクを配置します。

    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

  3. MQ の持続に必要なデータベーススキーマを作成します。

    組み込みデータベース用の imqdbmgr create all コマンドまたは外部データベース用の imqdbmgr create tbl コマンドを使用します。「データベース管理ユーティリティ (imqdbmgr)」を参照してください。

    例 :

    % cd IMQ_HOME/bin (Solaris では /usr/bin)

    % imqdbmgr create all



JDBC 関連のブローカの設定プロパティ

ブローカのインスタンス設定ファイルは、次の場所に配置されます。

IMQ_VARHOME/instances/brokerName/props/config.properties

ファイルが存在しない場合、ファイルを作成する MQ に対して、-name brokerName オプションを使用して、ブローカを起動する必要があります。

表 A-1 に、JDBC アクセスが可能なデータストアに接続する場合に、設定が必要な設定プロパティを示します。プラグイン持続を使用して、各ブローカインスタンスのインスタンス設定ファイル (config.properties) に、これらのプロパティを設定します。この表には、Cloudscape DBMS の例で指定する値が含まれています。


表 A-1    JDBC 関連のプロパティ 

プロパティ名

説明

imq.persist.store
 

ファイルベースまたは JDBC ベースのデータストアを指定する

例 : jdbc
 

imq.persist.jdbc.brokerid
(省略可能)

 

複数のブローカインスタンスが、持続データストアとして、同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されるブローカインスタンス識別子を指定する。通常、1 つのブローカインスタンスだけのデータを格納する組み込みデータベースでは不要。識別子には、英数字を使用し、データベースで許可されているテーブル名の最大数 12 を超えないようにする必要がある

例 : Cloudscape では不要  

imq.persist.jdbc.driver
 

データベースに接続する JDBC ドライバの Java クラス名を指定する

例 : COM.cloudscape.core.JDBCDriver
 

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 を指定する

例 (Cloudscape で必要) : jdbc:cloudscape:;shutdown=true
 

imq.persist.jdbc.user
(省略可能)

 

必要に応じて、データベースコネクションを開くときに使用するユーザ名を指定する。セキュリティ上の理由から、代わりに、次のコマンド行オプションを使用して値を指定できる
imqbrokerd -dbuser および imqdbmgr -u
 

imq.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 システムディレクトリを定義することができます。

-Dcloudscape.system.home=IMQ_VARHOME/instances/brokerName/dbstore

この場合、データベースを作成したり、開いたりするための URL は、それぞれ次のように指定できます。

imq.persist.jdbc.createdburl=jdbc:cloudscape:imqdb;create=true

および

imq.persist.jdbc.opendburl=jdbc:cloudscape:imqdb



データベース管理ユーティリティ (imqdbmgr)

MQ には、持続に必要なスキーマをセットアップするためのデータベース管理ユーティリティ (imqdbmgr) が用意されています。データベーステーブルが破損した場合や別のデータベースをデータストアとして使用する場合に、このユーティリティを使用して、MQ のデータベーステーブルを削除することもできます。

組み込みデータベースを使用し、IMQ_VARHOME/instances/brokerName/ ディレクトリの下に、データベースを作成する場合は、次のディレクトリの下に作成することをお勧めします。

IMQ_VARHOME/instances/brokerName/dbstore/dabatabseName.

組み込みデータベースは、ユーザ名とパスワードで保護されていない場合、ファイルシステムのアクセス権によって保護される可能性があります。ブローカがデータベースを読み取ったり、書き込んだりするためには、ブローカを実行するユーザが、組み込みデータベースを作成するのに使用する imqdbmgr コマンドを実行する必要があります。

表 A-2imqdbmgr のサブコマンドを一覧表示します。


表 A-2    imqdbmgr のサブコマンド 

サブコマンド

説明

create all
 

新しいデータベースと MQ の持続データストレージのスキーマを作成する。このコマンドは、組み込みデータベースシステムで使用し、プロパティの imq.persist.jdbc.createdburl を指定する必要がある  

create tbl
 

既存のデータベースシステムに、MQ の持続データストレージのスキーマを作成する。このコマンドは、外部データベースシステムで使用する  

delete tbl
 

現在の持続データストレージのデータベース内に存在する MQ のデータベーステーブルを削除する  

recreate tbl
 

現在の持続データストレージのデータベース内に存在する MQ のデータベーステーブルを削除した後、MQ の持続データストレージのスキーマを作成し直す  

表 A-3imqdbmgr コマンドのオプションを一覧表示します。


表 A-3    imqdbmgr のオプション

オプション

説明

-Dproperty=value
 

指定したプロパティを指定した値に設定する。  

-b name
 

ブローカインスタンス名を指定し、対応するインスタンス設定ファイルを使用する  

-h
 

ヘルプを表示する  

-p passwd
 

データベースのパスワードを指定する  

-u name
 

データベースのユーザ名を指定する  

-v
 

バージョン情報を表示する  


前へ      目次      索引      次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最終更新日 2002 年 6 月 19 日