以下に各JDBCドライバの環境設定方法を説明します。使用するJDBCドライバによって環境設定が必要な項目が異なります。各環境設定項目を以下のように設定してください。GlassFish Serverクラスターに対する設定以外に各種ユーティリティー機能(Ping機能など)を使用する場合にはDASの環境設定が必要です。また、DASを開発環境として使用する場合も、DASに環境設定をしてください。
Type 2のJDBCドライバとは、一部ネイティブコードで実装されたJDBCドライバです。Type 4のJDBCドライバとは、すべてJavaで実装されたJDBCドライバです。
クラスパスの設定
JDBCドライバのJARファイル(ZIP形式で提供している場合は、ZIPファイル)をGlassFish Serverクラスター、またはDASが参照可能なように設定するには、以下を実行します。
次のどれかを実行します。
ドライバのJARファイルを以下の運用資産格納ディレクトリーにコピーしてください。
jar: [運用資産格納ディレクトリー]\domains\domain1\lib |
jar: [運用資産格納ディレクトリー]/domains/domain1/lib |
domain.xmlの更新日時を現在時刻に更新します。
メモ帳でC:\eapf\glassfish\var\domains\domain1\config\domain.xml (C:\eapfにインストールした場合)を開き、上書き保存をする。
または以下のコマンドを実行する。
cd C:\eapf\glassfish\var\domains\domain1\config copy domain.xml +
touchコマンドを使用する。
touch /var/opt/FJSVeapf/glassfish/domains/domain1/config/domain.xml
環境設定の対象に応じて、GlassFish Serverクラスター、またはDASを再起動します。
JDBCドライバのJARファイルをコピーせずにインストール済みJDBCドライバのパスを有効にする必要がある場合は、以下の手順をしてください。
Java VMの定義項目「クラスパスのサフィックス」にJDBCドライバのJARファイルの絶対パスを指定します。詳細は「9.9.15 Java VMの定義項目」を参照してください。
環境設定の対象に応じて、GlassFish Serverクラスター、またはDASを再起動します。
JDBCドライバのクラスパスをappclientコマンドを実行するコマンドプロンプトの環境変数APPCPATHに設定してください。
また、呼出し先のGlassFish ServerクラスターにもJDBCドライバのクラスパスを設定してください。設定方法はWebアプリケーションまたはEJBアプリケーションの場合のクラスパスの設定を参照してください。
JDBCドライバのクラスパスをJava SEスタンドアロンアプリケーションを実行するコマンドプロンプトの環境変数CLASSPATHに設定するか、Java SEスタンドアロンアプリケーション実行時に-classpathオプションで設定してください。
また、呼出し先のGlassFish ServerクラスターにもJDBCドライバのクラスパスを設定してください。設定方法はWebアプリケーションまたはEJBアプリケーションの場合のクラスパスの設定を参照してください。
パス/ライブラリパスの設定
Type2のJDBCドライバを使用する場合にパス/ライブラリパスをGlassFish Serverクラスター、またはDASが参照できるように設定するには環境変数PATH(LD_LIBRARY_PATH)を以下の方法で設定してください。また、JDBCドライバが動作するためにPATH、LD_LIBRARY_PATH、CLASSPATH以外の環境変数の設定が必要な場合についても以下の方法で設定してください。
JDBCドライバの設定値は、それぞれ以下を参照してください。
start-domainサブコマンドを実行するコマンドプロンプトの環境変数に設定し、DASを再起動してください。
Jakarta EEアプリケーションクライアント、またはJava SEスタンドアロンアプリケーションの場合は、appclientコマンド、またはJava SEスタンドアロンアプリケーションを実行するコマンドプロンプトの環境変数PATH(LD_LIBRARY_PATH)に設定してください。
注意
JPA使用時の注意事項
JPAを使用するアプリケーションの配備時にデータベースと接続する場合があります。そのため、JPAを使用する場合は、アプリケーションの配備前に以下の対処をしてください。
接続先のデータベースを起動してください
JDBCドライバの環境設定をしてください
WebアプリケーションまたはEJBアプリケーションの場合
クラスパス、およびパス/ライブラリパスの設定を実施してください。GlassFish Serverクラスターに配備する場合は、GlassFish ServerクラスターとDASの両方にクラスパス、およびパス/ライブラリパスの設定が必要です。
Jakarta EEアプリケーションクライアントの場合
環境変数APPCPATHの設定に加えて、WebアプリケーションまたはEJBアプリケーションの場合のクラスパス、およびパス/ライブラリパスの設定を実施してください。
データベースに対するJDBC接続プール、およびJDBC接続プールに対するJDBCリソースを作成してください。
データベースの環境構築方法については「5.7 データベースの環境設定」を参照してください。
リソースタイプ
接続プールを作成する際に、リソースタイプを以下の3つから選択できます。使用するデータソースクラスが実装するインターフェイスを指定してください。指定したリソースタイプによって、以下の違いがあります。
グローバルトランザクションでの利用可否
JDBCドライバに対して物理接続の獲得と破棄を要求するメソッド
動作するプーリング機能
リソースタイプを指定しなかった場合や、使用するデータソースクラスがリソースタイプに指定したインターフェイスを実装していない場合には、javax.sql.DataSourceが指定された場合と同様の動作をします。
リソースタイプ | 説明 |
---|---|
javax.sql.ConnectionPoolDataSource | ローカルトランザクションを使用する場合に指定します。 JDBC接続プールが物理接続を獲得する時には、データソースクラスに対してjavax.sql.ConnectionPoolDataSourceインターフェイスのgetPooledConnectionメソッドを実行します。物理接続を破棄する時にはjavax.sql.PooledConnectionインターフェイスのcloseメソッドを実行します。 |
javax.sql.DataSource | ローカルトランザクションを使用する場合に指定します。 |
javax.sql.XADataSource | グローバルトランザクションを使用する場合に指定します。 |
追加プロパティ
データベース名(URL)、ユーザー名、およびパスワードなど、使用するJDBCドライバにあわせて必要なプロパティを接続プールの定義へ追加できます。
指定可能なプロパティは、JDBCドライバごとに異なるため詳細は、各JDBCドライバのマニュアルを確認してください。
JDBCドライバのJARファイルがDASで参照可能となっている場合、デフォルトで表示されるデータソースクラス名のクラスから、指定可能なプロパティの名前をロードして表示します。また、プロパティのデフォルト値も合わせてロードして表示します。デフォルトで表示されるデータソースクラス名については、各JDBCドライバの環境設定の説明を参照してください。
JDBCドライバのJARファイルがDASで参照できない場合、以下をプロパティの名前としてデフォルトで表示します。必要によってプロパティを追加/削除してください。値を指定しない場合にはそのプロパティは無視されます。
databaseName
datasourceName
networkProtocol
password
portNumber
roleName
serverName
user
注意
JDBCドライバのJARファイルがDASで参照可能となっていても、指定したクラス名により定義更新をするとエラーが発生するプロパティ(Oracleの「connectionCachingEnabled」プロパティなど)が一部表示されません。指定が必要な場合にはプロパティを追加してください。
プロパティにパスワードを指定する場合には、パスワードエイリアスを定義することを推奨します。
プロパティの名前の先頭文字は、大文字/小文字のどちらも使用可能です。
プロパティの値の型がjava.util.Propertiesの場合、プロパティに「([name=value[,name=value]...])」という形式で値を指定してください。nameとvalueには特殊文字の(‘,’、‘=’)を使用できません。