第12章 Data Grid Server データソースの設定
管理データソースを作成して、データベース接続用の接続プールおよびパフォーマンスを最適化します。
データベースコネクションプロパティーを JDBC キャッシュストア設定の一部として指定できます。ただし、これはキャッシュ定義ごとに行う必要がありますが、この場合、設定が複製され、複数の個別の接続プールが作成されてリソースが無駄に消費されます。
共有の管理されたデータソースを使用することで、接続設定とプーリングを一元化して、より効率的に使用することができます。
12.1. JDBC キャッシュストアのデータソース設定
データソースの Data Grid サーバー設定は、2 つのセクションで設定されます。
-
データベースへの接続方法を定義する
connection factory
。 -
接続をプールして再利用する方法を定義する
connection pool
。
<data-sources> <!-- Defines a unique name for the datasource, JNDI name, and enables statistics. --> <data-source name="ds" jndi-name="jdbc/datasource" statistics="true"> <!-- Specifies the JDBC driver that creates connections. --> <connection-factory driver="org.database.Driver" username="db_user" password="secret" url="jdbc:db://database-host:10000/dbname" new-connection-sql="SELECT 1" transaction-isolation="READ_COMMITTED"> <!-- Sets optional JDBC driver-specific connection properties. --> <connection-property name="name">value</connection-property> </connection-factory> <!-- Defines connection pool properties. --> <connection-pool initial-size="1" max-size="10" min-size="3" background-validation="1000" idle-removal="1" blocking-timeout="1000" leak-detection="10000"/> </data-source> </data-sources>
接続プールは、以下のパラメーターを使用して調整できます。
-
initial-size
: プールが保持する必要のある最初の接続数。 -
max-size
: プールの最大接続数。 -
min-size
: プールが保持する必要のある接続の最小数。 -
blocking-timeout
: 例外が発生する前に接続を待機している間にブロックする最大時間 (ミリ秒単位)。新しい接続の作成に非常に長い時間がかかる場合は、これによって例外が出力されることはありません。デフォルトは 0 です。これは、呼び出しが無期限に待機することを意味します。 -
background-validation
: バックグラウンド検証の実行の間隔 (ミリ秒単位)。期間 0 は、この機能が無効化されていることを意味します。 -
validate-on-acquisition
: ミリ秒単位で指定された、この時間より長いアイドル状態の接続は、取得される前に検証されます (フォアグラウンド検証)。期間 0 は、この機能が無効化されていることを意味します。 -
idle-removal
: 削除される前の接続がアイドル状態でなくてはならない時間 (分単位)。 -
leak-detection
: リーク警告の前に接続を保持しなければならない時間 (ミリ秒単位)。