JDBC

このセクションでは、JRun 管理者のための JDBC に関する注意事項について説明します。JRun 管理者は、JRun サーバで実行するすべてのアプリケーションについて、JRun データソースが定義されていることを確認する必要があります。実行時に、JRun はこれらのデータソースを作成し、JNDI に保管します。アプリケーションは InitialContext.lookup メソッドを使用してそれぞれのデータソースにアクセスします。

JRun データソースには、次の機能があります。

JRun には、さまざまなリレーショナルデータベースにアクセスできる Type 4 JDBC ドライバが付属しています。詳細については、JRun ドキュメントに付属の『DataDirect Connect JDBC User's Guide and Reference』を参照してください。

JRun データソースの定義

JRun サーバの JDBC データソースを定義するには、JMC を使用します。JRun JDBC データソースを定義する場合は、次の項目を設定します。
設定
説明
JNDI 名
アプリケーションがデータソースを検索するときに使用する名前。この名前は、CMP EJB の JRun デプロイメントディスクリプタでも使用されます。この名前にスラッシュを含めることはできますが、/jdbc で始まる必要はありません。
ドライバクラス名
com.pointbase.jdbc.jdbcUniversalDriver など、ドライバのクラスファイルの名前。JMS は、よく使用されるほとんどの JDBC ドライバのクラス名を自動的に判定します。
データベース URL
jdbc:pointbase:server://127.0.0.1:9292/compass など、データベースを指定する URL。この設定は、DBMS および JDBC ドライバごとに異なります。JMC は、選択された JDBC ドライバーから推測し、一般的な URL を自動的に判定します。
詳細設定
その他の JDBC 設定。次の項目があります。
  • native-results キャッシュできるスクロール可能で更新可能な JRun ResultSet 実装を使用するには true に設定します。false に設定すると、元となる JDBC ドライバによって返される ResultSet が使用されます。
  • initial-connections プールのインスタンス化時に JRun が作成する接続の数を設定します。
  • pool-statements 呼び出しのたびに PreparedStatements を再作成せずにプールしておくには、true に設定します。
  • minimum-size JRun がプール内で保持するオブジェクトの最小数を設定します。
  • maximum-size JRun がプール内で保持するオブジェクトの最大数を設定します。
  • maximum-soft プールの最大サイズに到達した際にリクエストがまだオブジェクト上で待機している場合に、コネクションプールが一時的な緊急手段として新しいオブジェクトを作成するには、true に設定します。それによってプールのサイズは一時的に大きくなりますが、プールは自動的に許容可能なサイズに縮小します。オブジェクトが使用可能になるまでリクエストを待機させるには、false に設定します。
  • disable-pooling JDBC コネクションプールを無効化にします。
  • connection-timeout JRun が接続を廃棄するまでに休止状態を維持する時間 (秒)
  • usertimeout 接続が自動的にプールに戻されるまでにユーザーが接続を維持する時間 (秒)
  • skimmer-frequency リープサイクル間で、プールスキマーが待機する時間 (秒)。スキマーは各リープサイクルですべての接続 (チェックインした接続とチェックアウトした接続の両方) を評価して、それらの接続がタイムアウトになった場合に自動的にプールに戻すか、あるいは廃棄するかを決めます。
  • shrink-by 1 つのリープサイクルでプールから削除できるオブジェクトの最大数を設定します。JRun は、スキマーによってプールが縮小されるたびにこの値を確認します。そのため、JRun のコネクションプールメカニズムによってピーク時にプールが急激に縮小されるのを防ぎます。
  • debugging 冗長なロギング情報を有効にするには、true に設定します。
  • cache-enabled クエリ/ResultSet のキャッシュを有効にするには、true に設定します。
  • cache-size キャッシュすることができるクエリ/ResultSet のペアの最大数を設定します。
  • cache-refresh-interval キャッシュがデータベースからその ResultSet をリロードする間隔 (秒)
  • remove-on-exceptions SQLException がある場合にプールから接続を削除するには、true に設定します。

JMC では、多くの一般的な JDBC ドライバのドライバクラス名、URL、ポート、およびその他の設定にドライバ固有のデフォルトを指定します。必要に応じて、これらの設定を変更したり、他の JDBC ドライバを使用したりすることもできます。詳細については、JMC のオンラインヘルプを参照してください。

ドライバクラス名およびデータベース URL の詳細については、JDBC ドライバのドキュメントを参照してください。

JRun では、データソース設定を <JRun のルートディレクトリ>/servers/<JRun のサーバ名>/SERVER-INF/jrun-resources.xml ファイルに保管します。jrun-resources.xml の設定の詳細については、「リソース:jrun-resources.xml ファイル」または JRun オンラインドキュメントのホームページからアクセスできる、オンラインディスクリプタについてのドキュメントを参照してください。

JRun クラスパスの更新

JRun でデータソースを定義したら、JDBC ドライバの JAR ファイルが JRun サーバのクラスパスにあることを確認する必要があります。簡単な方法として、JAR ファイルを <JRun のルートディレクトリ>/servers/lib ディレクトリにコピーし、すべての JRun サーバに対して使用可能にする方法があリます。JMC の [Java VM 設定] パネルを使用して、個々のサーバのクラスパスに JAR ファイルを追加することも可能です。

CMP エンティティ bean の JRun EJB デプロイメントディスクリプタは、サーブレットおよび JSP で使用される他、JRun データソースの指定にも使用されます。JRun EJB デプロイメントディスクリプタは、データソースを明示的に指定したり、defaultdatasource を指定して、JRun の起動時に最初にバインドされたデータソースを使用したりすることができます。