ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド(Java EE 6編)
FUJITSU Software

4.14.1 JDBCドライバの環境設定

以下に各JDBCドライバの環境設定方法を説明します。使用するJDBCドライバによって環境設定が必要な項目が異なります。各環境設定項目を以下のように設定してください。IJServerクラスタに対する設定以外に各種ユーティリティ機能(Ping機能など)を使用する場合にはInterstage Java EE 6 DASサービスの環境設定が必要です。また、Interstage Java EE 6 DASサービスを開発環境として使用する場合も、Interstage Java EE 6 DASサービスに環境設定を行ってください。
Type 2のJDBCドライバとは、一部ネイティブコードで実装されたJDBCドライバです。Type 4のJDBCドライバとは、すべてJavaで実装されたJDBCドライバです。

クラスパスの設定

JDBCドライバのJARファイル(ZIP形式で提供している場合はZIPファイル)をIJServerクラスタ、またはInterstage Java EE 6 DASサービスが参照可能なように設定するには、以下を実行します。
クラスローダの詳細については、「2.22 クラスローダ」を参照してください。

WebアプリケーションまたはEJBアプリケーションの場合

次のいずれかを実行します。

JDBCドライバをコピーして運用可能な場合
  1. ドライバのJARファイルを以下の共通ディレクトリにコピーしてください。

    jar: [Java EE 6共通ディレクトリ]\domains\domain1\lib
    クラス: [Java EE 6共通ディレクトリ]\domains\domain1\lib\classes

    jar: [Java EE 6共通ディレクトリ]/domains/domain1/lib
    クラス: [Java EE 6共通ディレクトリ]/domains/domain1/lib/classes

  2. domain.xmlの更新日時を現在時刻に更新します。手順の詳細は、「2.1.4 リポジトリの同期化処理」の注意を参照してください。

  3. 環境設定の対象に応じて、IJServerクラスタ、またはInterstage Java EE 6 DASサービスを再起動します。

JDBCドライバをコピーして運用できない場合

SymfowareまたはHA Database Ready SX1のNative SQLなど、JDBCドライバのJARファイルをコピーせずにインストール済みJDBCドライバのパスを有効にする必要がある場合は、以下の手順を行ってください。

  1. Class-Path属性にJDBCドライバのJARファイルを絶対パスで定義したマニフェストファイルMANIFEST.MFを作成してください。パスの末尾には必ず改行を入力してください。Windowsの場合はURL形式の絶対パスで定義してください。

    Class-Path: <JDBCドライバのJARファイルの絶対パス><改行>

    SymfowareまたはHA Database Ready SX1のNative SQLの場合

    Class-Path: file:///C:/SFWCLNT/JDBC/fjjdbc/lib/fjsymjdbc4.jar<改行>

    Class-Path: /opt/FJSVsymjd/fjjdbc/lib/fjsymjdbc4.jar<改行>
  2. コマンドプロンプトで以下のコマンドを実行し、JARファイルを作成してください。

    jar cvfm <任意のJARファイル名> MANIFEST.MF
  3. 作成したJARファイルを以下の共通ディレクトリにコピーしてください。

    jar: [Java EE 6共通ディレクトリ]\domains\domain1\lib
    クラス: [Java EE 6共通ディレクトリ]\domains\domain1\lib\classes

    jar: [Java EE 6共通ディレクトリ]/domains/domain1/lib
    クラス: [Java EE 6共通ディレクトリ]/domains/domain1/lib/classes

  4. domain.xmlの更新日時を現在時刻に更新します。手順の詳細は、「2.1.4 リポジトリの同期化処理」の注意を参照してください。

  5. 環境設定の対象に応じて、IJServerクラスタ、またはInterstage Java EE 6 DASサービスを再起動します。


Java EEアプリケーションクライアントの場合

JDBCドライバのクラスパスをappclientコマンドを実行するコマンドプロンプトの環境変数APPCPATHに設定してください。
環境変数APPCPATHの設定方法は「4.9.1 Java EEアプリケーションクライアントの環境設定」を参照してください。


Java SEスタンドアロンアプリケーションの場合

JDBCドライバのクラスパスをJava SEスタンドアロンアプリケーションを実行するコマンドプロンプトの環境変数CLASSPATHに設定するか、Java SEスタンドアロンアプリケーション実行時に-classpathオプションで設定してください。


パス/ライブラリパスの設定

Type2のJDBCドライバ(Oracle OCI JDBCドライバ、HA Database Ready SX1のNative SQL JDBCドライバ、または、Symfoware JDBCドライバ)を使用する場合にパス/ライブラリパスをIJServerクラスタ、またはInterstage Java EE 6 DASサービスが参照可能なように設定するには環境変数PATH(Solaris/LinuxではLD_LIBRARY_PATH)を以下の方法で設定してください。また、JDBCドライバが動作するためにPATH、LD_LIBRARY_PATH、CLASSPATH以外の環境変数の設定が必要な場合についても以下の方法で設定してください。

start-domainサブコマンドを実行するコマンドプロンプトの環境変数に設定し、Interstage Java EE 6 DASサービスを再起動してください。

Java EEアプリケーションクライアント、またはJava SEスタンドアロンアプリケーションの場合は、appclientコマンド、またはJava SEスタンドアロンアプリケーションを実行するコマンドプロンプトの環境変数PATH(Solaris/LinuxではLD_LIBRARY_PATH)に設定してください。

注意

JPA使用時の注意事項

JPAを使用するアプリケーションの配備時にデータベースと接続する場合があります。そのため、JPAを使用する場合はアプリケーションの配備前に以下の対処を行ってください。

  1. 接続先のデータベースを起動してください

  2. JDBCドライバの環境設定を行ってください

    • WebアプリケーションまたはEJBアプリケーションの場合

      クラスパス、およびパス/ライブラリパスの設定を実施してください。

    • Java EEアプリケーションクライアントの場合

      環境変数APPCPATHの設定に加えて、WebアプリケーションまたはEJBアプリケーションの場合のクラスパス、およびパス/ライブラリパスの設定を実施してください。

  3. データベースに対するJDBC接続プール、およびJDBC接続プールに対するJDBCリソースを作成してください。

データベースの環境構築方法については「4.14 データベースの環境設定」を参照してください。

リソースタイプ

接続プールを作成する際に、リソースタイプを以下の3つから選択できます。使用するデータソースクラスが実装するインタフェースを指定してください。指定したリソースタイプによって、グローバルトランザクションでの利用可否とJDBCドライバに対して物理接続の獲得と破棄を要求するメソッドに違いがあります。リソースタイプを指定しなかった場合や、使用するデータソースクラスがリソースタイプに指定したインタフェースを実装していない場合には、javax.sql.DataSourceが指定された場合と同様の動作をします。

リソースタイプ

説明

javax.sql.DataSource

ローカルトランザクションを使用する場合に指定します。
JDBC接続プールが物理接続を獲得する時にはデータソースクラスに対してjavax.sql.DataSourceインタフェースのgetConnectionメソッドを実行し、物理接続を破棄する時にはjava.sql.Connectionインタフェースのcloseメソッドを実行します。

javax.sql.XADataSource

グローバルトランザクションを使用する場合に指定します。
JDBC接続プールが物理接続を獲得する時には、データソースクラスに対してjavax.sql.XADataSourceインタフェースのgetXAConnectionメソッドを実行します。物理接続を破棄する時にはjavax.sql.XAConnectionインタフェースのcloseメソッドを実行します。

javax.sql.ConnectionPoolDataSource

ローカルトランザクションを使用する場合に指定します。
JDBC接続プールが物理接続を獲得する時には、データソースクラスに対してjavax.sql.ConnectionPoolDataSourceインタフェースのgetPooledConnectionメソッドを実行します。物理接続を破棄する時にはjavax.sql.PooledConnectionインタフェースのcloseメソッドを実行します。

注意

JDBCドライバが提供するプーリング機能を利用した場合の注意事項

JDBCドライバ側のプーリング機能を有効にすると、Interstage側のプーリング機能と冗長に動作します。このため、Interstage側のプーリング機能を無効にしてください。設定方法については「7.5.1 JDBC接続プールの定義項目」を参照してください。
例えば、Oracleが提供するoracle.jdbc.pool.OracleDataSourceを利用し、かつ、プロパティにおいてConnectionCachingEnabledプロパティをtrueに設定した場合は、Interstage側のプーリング機能を無効にしてください。

追加プロパティ

データベース名(URL)、ユーザ名、およびパスワードなど、使用するJDBCドライバにあわせて必要なプロパティを接続プールの定義へ追加できます。
指定可能なプロパティは、JDBCドライバごとに異なるため詳細は、各JDBCドライバのマニュアルを確認してください。

JDBCドライバのJARファイルがInterstage Java EE 6 DASサービスで参照可能となっている場合、デフォルトで表示されるデータソースクラス名のクラスから、指定可能なプロパティの名前をロードして表示します。また、プロパティのデフォルト値も合わせてロードして表示します。デフォルトで表示されるデータソースクラス名については、各JDBCドライバの環境設定の説明を参照してください。
JDBCドライバのJARファイルがInterstage Java EE 6 DASサービスで参照できない場合、以下をプロパティの名前としてデフォルトで表示します。必要によってプロパティを追加/削除してください。値を指定しない場合にはそのプロパティは無視されます。

注意

  • JDBCドライバのJARファイルがInterstage Java EE 6 DASサービスで参照可能となっていても、指定したクラス名により定義更新を行うとエラーが発生するプロパティ(Oracleの「connectionCachingEnabled」プロパティなど)が一部表示されません。指定が必要な場合にはプロパティを追加してください。

  • プロパティにパスワードを指定する場合には、パスワードエイリアスを定義することを推奨します。パスワードエイリアスについてはasadminコマンドの「9.1.17.9 create-password-aliasサブコマンド」を参照してください。

  • プロパティの名前の先頭文字は、大文字/小文字のどちらも使用可能です。

  • プロパティの値の型がjava.util.Propertiesの場合、プロパティに「{[name=value[,name=value]...]}」という形式で値を指定してください。nameとvalueには特殊文字の(‘,’、‘=’)を使用できません。