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