![]() |
![]() ![]() |
![]() |
![]() |
![]() |
挨拶文をデータベースに記録するときに、サンプルアプリケーションでは Java[tm] Database Connectivity (JDBC[tm]) API を使っています。この項では、サンプルアプリケーションの配備と実行の前に、アプリケーションサーバー環境に JDBC 関連の設定を定義する方法について説明します。 JDBC の設定には、JDBC ドライバの設定、JDBC 接続プールの設定、およびアプリケーションが使用する JDBC リソースの登録が含まれます。このマニュアルで使用するサンプルアプリケーションのデフォルトの設定では、データベースとして PointBase Server が使われます。PointBase Server は、どの Sun ONE Application Server 7 製品にも含まれています。ただし、Solaris 9 のインストールと同時にインストールしたアプリケーションサーバーには PointBase Server は含まれません。アプリケーションサーバーのインストールディレクトリに <appserver_install_dir>/pointbase/ というディレクトリが存在すれば、PointBase Server はすでにインストールされているので、次に説明する手順に従って JDBC 接続プールとリソースオブジェクトを定義できます。 アプリケーションサーバーのインストールに PointBase Server が含まれていないときは、「JDBC 接続プールとリソースの設定手順」に進む前に、「PointBase のインストールと設定」 の手順に従って PointBase Server 環境を設定する必要があります。Solaris 9 と同時にインストールされたアプリケーションサーバーを使用する場合は、PointBase のインストールと設定の手順に従ってください。
|
1. コンソールを開いてサーバーインスタンスのノードを選択し、「JVM 設定」タブの「パス設定」タブを開きます。 2. 「パス設定」タブでは、適切な JDBC ドライバに合わせて「クラスパスのサフィックス」の設定を .zip ファイルまたは .jar ファイルに変更します。Type 2 ドライバを使用するときは、適切なネイティブライブラリに合わせて「ネイティブライブラリのパスサフィックス」の設定を変更します。 3. 変更を保存し、サーバーインスタンスの「一般」タブに戻ります。 4. 「変更の適用」をクリックし、アプリケーションサーバーを再起動して変更を有効にします。 Type 4 ドライバのアーカイブを次のディレクトリにコピーしても設定できます。
インスタンスの lib ディレクトリに含まれるすべての Java ライブラリは、サーバーインスタンスを再起動したときにサーバーのクラスパスの最後に自動的に追加されます。 |
|
サンプルアプリケーションを実行する前に、適切な JDBC 接続プールを定義する必要があります。この接続プールは、PointBase データベースサーバーと、サンプルアプリケーションで作成される JDBC 参照を接続プールの定義に関連付ける JDBC リソースにマッピングされます。
このファイルの内容を手動で変更することもできますが、管理コンソールまたは asadmin コマンド行ユーティリティを通じて別のユーザーがファイルの内容を更新している可能性もあるので注意してください。server.xml ファイルの内容を手動で変更したときは、アプリケーションサーバーインスタンスを再起動して変更を適用する必要があります。 |
1. Web ブラウザから管理コンソールにアクセスします。アプリケーションサーバーが稼動していないときは、起動する必要があります。
2. アプリケーションサーバーインスタンス「server1」を展開して JDBC ノードを表示します。「接続プール」ノードをクリックし、「新規」をクリックして新しい接続プールを定義します。
![]() |
3. 接続プールの新規作成ウィザードの最初の画面に次の情報を入力し、「次」ボタンをクリックします。
フィールド | 値 |
---|---|
「名前」 |
PointBasePool |
Database Vendor | Pointbase 4.2 を選択 |
![]() |
4. 次の画面が表示されます。
![]() |
5. 下方向にスクロールして「プロパティ」を表示し、次の値を指定します。
プロパティ | 値 |
---|---|
user |
jdbc |
password | jdbc |
dataBaseName |
jdbc:pointbase:server://localhost/sun-appserv-samples |
|
これ以外の不要プロパティが表示されるときは、そのプロパティの左に表示されるチェックボックスを選択してから「削除」ボタンをクリックして削除します。
![]() |
6. 「完了」ボタンをクリックしてウィザードを終了します。JDBC 接続プールウィザードを使ってサーバーの設定に変更を加えても、管理サーバーはアクティブな設定が変更されていないものとして認識します。このため、変更の適用が必要であることを示す警告アイコンが管理コンソールに表示されます。
変更を適用する前に、次の手順に進んでサンプルアプリケーションの JDBC リソースを定義します。 JDBC リソースを定義したら、接続プールと JDBC リソースの変更を同時に適用します。
![]() |
JDBC 接続プールの定義を作成できたので、次に JDBC リソースを定義して接続プールのエントリと関連付けます。
1. 「JDBC」ノードの下の 「JDBC リソース」ノードを選択し、「新規...」をクリックして新しいリソースエントリを定義します。
2. サンプル Web アプリケーションの sun-web.xml ファイルは、リソースの JNDI 名を「jdbc/jdbc-simple」として認識します。したがって、JDBC リソースにはこの JNDI 名を定義する必要があります。
各フィールドの次の値を設定し、「了解」ボタンをクリックしてリソースを定義します。
フィールド | 値 |
---|---|
「JNDI 名」 |
jdbc/jdbc-simple |
「プール名」 | PointBasePool を選択 |
![]() |
3. JDBC 接続プールとサンプルアプリケーションのリソースの両方を定義できました。次に、変更を適用してアプリケーションサーバーのインスタンスに認識させます。
3a. ウィンドウ右上の「変更の適用が必要です」リンクをクリックして、JDBC 接続プールとリソースの変更を適用します。
![]() |
3b.変更が適用されたことを示すメッセージが表示されます。 この場合、サーバーインスタンスを再起動する必要はありません。
さらに変更を加えて保存すると、バックアップ領域内の server.xml ファイルも更新されます。 適用前の変更をアプリケーションサーバーのインスタンスに認識させるには、「変更の適用」をクリックしてバックアップ領域内の server.xml ファイルを次のような通常の設定ディレクトリに強制的にコピーする必要があります。
設定ディレクトリに適用した変更の一部はアプリケーションサーバーインスタンスによって直ちに認識されますが、それ以外の変更を認識させるにはサーバーインスタンスを再起動する必要があります。変更の適用にサーバーの再起動が必要な場合は、管理コンソールにメッセージが表示されます。 |
サンプルアプリケーションを実行する前に、PointBase Server データベースを起動する必要があります。
アプリケーションサーバーをほかのユーザーと共用している場合、または PointBase がインストールされている領域に対する書き込み権がシステムユーザー ID に割り当てられていない場合は (たとえば、UNIX システムのルートユーザーがアプリケーション サーバーをインストールしたときは、ルートユーザー以外の ID に書き込み権が与えられていないことがある)、事前に構築されている PointBase データベースと PointBase Server の起動スクリプトの専用コピーを作成する必要があります。
PointBase をほかのユーザーと共有しない場合は、「PointBase Server の起動」に進んでください。
データベースの専用コピーの作成
PointBase Server の専用コピーを作成する手順は次のとおりです。
1. 書き込み権のあるディレクトリの下に「pointbase/」という名前のディレクトリを作成します。
2. すでに内容が設定されている PointBase データベースのファイルをサンプルアプリケーションのインストールディレクトリから専用の PointBase ディレクトリにコピーします。
内容が設定されているデータベースのファイルを PointBase の専用インストールにコピーするには、次のディレクトリに含まれるファイルをコピーします。
<appserver_install_dir>/samples/pointbase/databases/*
次のディレクトリにコピーします。
<personal_pointbase_dir>/pointbase/databases/
これにより、sun-appserv-samples$1.wal および sun-appserv-samples.dbn というファイルが専用の PointBase ディレクトリにコピーされます。
3. 次のファイルを PointBase のインストールディレクトリから <personal_pointbase_dir>/pointbase/ にコピーします。
ファイル | コメント |
---|---|
StartServer.sh または StartServer.bat |
PointBase Server が待機するポートの番号を記録した起動スクリプト |
pointbase.ini | データベースファイルの場所を指定した初期化ファイル |
アプリケーションサーバーのインストール時に PointBase をインストールした場合は、これらのファイルは次のディレクトリに保存されています。
<appserver_install_dir>/pointbase/server/
評価バージョンの PointBase をダウンロードしてインストールした場合は、これらのファイルは次のディレクトリに保存されています。
<pointbase_install_dir>/tools/server/
4. スクリプトファイル StartServer.sh または StartServer.bat を編集し、実行中の他の PointBase Server と重複しないポートの番号を設定します。
JDBC 接続プールに設定されている dataBaseName プロパティを次のように変更します。
次のように変更します。
<port> は、StartServer スクリプトに設定されているポート番号です。 dataBaseName プロパティにポート番号を追加する手順は次のとおりです。 1. アプリケーションサーバーの管理コンソールを開いて PointBasePool のノードを選びます。 2. 下方向にスクロールして「プロパティ」ボタンをクリックし、接続プールのプロパティを編集します。 3. dataBaseName プロパティの値を適切なポート番号に変更し、「了解」をクリックして変更を保存します。 4. 変更を適用してアプリケーションサーバーのインスタンスを再起動し、接続プールに加えた変更を認識させます。 |
これで、専用ディレクトリから PointBase Server を起動できるようになります。
データベースサーバーは、次のいずれかの方法で簡単に起動できます。
Windows 環境:
アプリケーションサーバーのインストール時に PointBase をインストールした場合
「スタート」 -> 「プログラム」 -> 「Sun Microsystems」 -> 「Sun ONE Application Server 7」 -> 「Start PointBase」
ダウンロードした PointBase を個別にインストールした場合
<pointbase_install_dir>/tools/server/startserver.bat を実行
UNIX 環境:
アプリケーションサーバーのインストール時に PointBase をインストールした場合
<appserver_install_dir>/pointbase/server/StartServer.sh を実行
ダウンロードした PointBase を個別にインストールした場合
<pointbase_install_dir>/tools/server/startserver.sh を実行
この起動スクリプトを実行すると、コマンドウィンドウまたは UNIX の端末プロンプトに次のメッセージが表示されます。
Server started, listening on port 9092, display level: 0 ...
>
サーバーをバックグラウンドで実行するには、StartServer.sh コマンドの末尾に「&」を追加します。
サーバーの起動と停止の詳細については、次のディレクトリに保存されている PointBase Server のマニュアルを参照してください。
|
「サンプルアプリケーションの配備と実行」に進んで、アプリケーションを実行します。
Solaris 9 のインストール時にアプリケーションサーバーを同時にインストールした場合、またはアプリケーションサーバーのインストール時にインストールするコンポーネントとして PointBase を選択しなかった場合は、PointBase はインストールされません。
PointBase がインストールされ、サンプルアプリケーションで使用できるように設定されているかどうかを調べるには、次のディレクトリでアプリケーションサーバーのインストールを確認します。
<appserver_install_dir>/pointbase/
このディレクトリが存在するときは、アプリケーションサーバーのインストール時に PointBase のインストールも完了しています。 このマニュアル冒頭のデータベースの設定手順 に戻ってデータベースの設定を続けてください。
PointBase をインストールし、サンプルアプリケーションで使用できるように設定する手順は次のとおりです。
1. PointBase Server と Client のダウンロードとインストール | |
2. PointBase データベースのサンプルファイルのコピー | |
3. アプリケーションサーバーのクラスパスに PointBase Type 4 JDBC[tm] ドライバを追加 |
1. PointBase Server と Client のダウンロードとインストール
http://www.pointbase.com にアクセスし、評価バージョンの PointBase をダウンロードします。
PointBase Server と Client をシステムにインストールします。 PointBase Client には PointBase Type 4 JDBC ドライバが含まれます。
2. PointBase データベースのサンプルファイルのコピー
Sun ONE Application Server 7 には、サンプルアプリケーション用に事前に内容が設定された PointBase データベースのファイルが含まれています。PointBase をほかのユーザーと共有しない場合は、このデータベースファイルをサンプルのディレクトリから PointBase のインストールディレクトリにコピーする必要があります。
PointBase をほかのユーザーと共有する場合は、後述する方法で専用の PointBase 実行時環境を作成する必要があります。 この場合、次の手順に従って PointBase JDBC ドライバをアプリケーションサーバーのクラスパスに追加します。
内容が設定されているデータベースのファイルを PointBase の専用インストールにコピーするには、次のディレクトリに含まれるファイルをコピーします。
<appserver_install_dir>/samples/pointbase/databases/*
次のディレクトリにコピーします。
<pointbase_install_dir>/databases/
これにより、sun-appserv-samples$1.wal および sun-appserv-samples.dbn というファイルが PointBase のインストールディレクトリにコピーされます。
3. アプリケーションサーバーのクラスパスに PointBase Type 4 JDBC ドライバを追加
PointBase Type 4 JDBC ドライバを PointBase のインストールディレクトリからアプリケーションサーバーインスタンスの lib/ ディレクトリにコピーします。次に例を示します。
.../domains/domain1/server1/lib/
JDBC ドライバは、<pointbase_install_dir>/lib/ というディレクトリにあります。 ドライバの名前は pbclientnn.jar で、nn は PointBase のバージョンを表します。
アプリケーションサーバーを再起動してドライバを認識させます。
アプリケーションサーバー側の設定で、「クラスパスのサフィックス」フィールドに PointBase ドライバの場所を指定することもできます。管理コンソールを開いてアプリケーションサーバーインスタンスの「JVM 設定」 -> 「パス設定」を表示し、変更を加えます。「クラスパスのサフィックス」フィールドに PointBase JDBC ドライバがすでに設定されているときは、新たにインストールしたドライバへのパスに変更します。「クラスパスのサフィックス」フィールドの設定を変更したら、変更を適用し、アプリケーションサーバーのインスタンスを再起動します。
これで PointBase のインストールと設定が完了しました。「データベースの設定手順」に戻ってデータベースの設定を続けてください。
![]() |
![]() |
![]() |