6.9. JDBC 接続ファクトリー
Data Grid は、データベースへの接続を可能にするさまざまな ConnectionFactory 実装を提供します。SQL キャッシュストアと JDBC 文字列ベースのキャッシュストアで JDBC 接続を使用します。
接続プール
接続プールは、スタンドアロンの Data Grid デプロイメントに適していますが、Agroal をベースにしています。
XML
JSON
YAML
ConfigurationBuilder
管理データソース
データソース接続は、アプリケーションサーバーなどの管理環境に適しています。
XML
<distributed-cache>
<persistence>
<data-source jndi-url="java:/StringStoreWithManagedConnectionTest/DS" />
</persistence>
</distributed-cache>
<distributed-cache>
<persistence>
<data-source jndi-url="java:/StringStoreWithManagedConnectionTest/DS" />
</persistence>
</distributed-cache>
JSON
YAML
distributedCache:
persistence:
dataSource:
jndiUrl: "java:/StringStoreWithManagedConnectionTest/DS"
distributedCache:
persistence:
dataSource:
jndiUrl: "java:/StringStoreWithManagedConnectionTest/DS"
ConfigurationBuilder
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.persistence()
.dataSource()
.jndiUrl("java:/StringStoreWithManagedConnectionTest/DS");
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.persistence()
.dataSource()
.jndiUrl("java:/StringStoreWithManagedConnectionTest/DS");
セキュアな接続
単純な接続ファクトリーは呼び出しごとにデータベース接続を作成し、テスト環境または開発環境での使用を目的としています。
XML
JSON
YAML
ConfigurationBuilder
6.9.1. マネージドデータソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
Data Grid Server 設定の一部としてマネージドデータソースを作成し、JDBC データベース接続の接続プールとパフォーマンスを最適化します。その後、キャッシュ内のマネージドデータソースの JDNI 名を指定して、デプロイメントの JDBC 接続設定を一元化できます。
前提条件
-
データベースドライバーを、Data Grid Server インストールの
server/libディレクトリーにコピーします。
手順
- Data Grid Server 設定を開いて編集します。
-
data-sourcesセクションに新しいdata-sourceを追加します。 -
name属性またはフィールドでデータソースを一意に識別します。 jndi-name属性またはフィールドを使用してデータソースの JNDI 名を指定します。ヒントJNDI 名を使用して、JDBC キャッシュストア設定でデータソースを指定します。
-
trueをstatistics属性またはフィールドの値に設定し、/metricsエンドポイント経由でデータソースの統計を有効にします。 connection-factoryセクションのデータソースへの接続方法を定義する JDBC ドライバーの詳細を提供します。-
driver属性またはフィールドを使用して、データベースドライバーの名前を指定します。 -
url属性またはフィールドを使用して、JDBC 接続 URL を指定します。 -
usernameおよびpassword属性またはフィールドを使用して、認証情報を指定します。 - 必要に応じて他の設定を指定します。
-
-
Data Grid Server ノードが接続をプールして再利用する方法を、
connection-poolセクションの接続プール調整プロパティーで定義します。 - 変更を設定に保存します。
検証
以下のように、Data Grid コマンドラインインターフェイス (CLI) を使用して、データソース接続をテストします。
CLI セッションを開始します。
bin/cli.sh
bin/cli.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのデータソースをリスト表示し、作成したデータソースが利用できることを確認します。
server datasource ls
server datasource lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow データソース接続をテストします。
server datasource test my-datasource
server datasource test my-datasourceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
マネージドデータソースの設定
XML
JSON
YAML
6.9.1.1. JNDI 名を使用したキャッシュの設定 リンクのコピーリンクがクリップボードにコピーされました!
マネージドデータソースを Data Grid Server に追加するとき、JNDI 名を JDBC ベースのキャッシュストア設定に追加できます。
前提条件
- マネージドデータソースを使用した Data Grid Server の設定
手順
- キャッシュ設定を開いて編集します。
-
data-source要素またはフィールドを JDBC ベースのキャッシュストア設定に追加します。 -
マネージドデータソースの JNDI 名を
jndi-url属性の値として指定します。 - JDBC ベースのキャッシュストアを適宜設定します。
- 変更を設定に保存します。
キャッシュ設定の JNDI 名
XML
JSON
YAML
6.9.1.2. 接続プールのチューニングプロパティー リンクのコピーリンクがクリップボードにコピーされました!
Data Grid Server 設定で、マネージドデータソースの JDBC 接続プールを調整できます。
| プロパティー | 説明 |
|---|---|
|
| プールが保持する最初の接続数。 |
|
| プールの最大接続数。 |
|
| プールが保持する必要のある接続の最小数。 |
|
|
例外が発生する前に、接続を待機している間にブロックする最大時間 (ミリ秒単位)。新しい接続の作成に非常に長い時間がかかる場合は、これによって例外が出力されることはありません。デフォルトは |
|
|
バックグラウンド検証の実行の間隔 (ミリ秒単位)。期間 |
|
|
ミリ秒単位で指定された、この時間より長いアイドル状態の接続は、取得される前に検証されます (フォアグラウンド検証)。期間 |
|
| 削除される前の接続がアイドル状態でなくてはならない時間 (分単位)。 |
|
| リーク警告の前に接続を保持しなければならない時間 (ミリ秒単位)。 |
6.9.2. Agroal プロパティーを使用した JDBC 接続プールの設定 リンクのコピーリンクがクリップボードにコピーされました!
プロパティーファイルを使用して、JDBC 文字列ベースのキャッシュストアにプールされた接続ファクトリーを設定できます。
手順
以下の例のように、
org.infinispan.agroal.*プロパティーで JDBC 接続プール設定を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow properties-file属性またはPooledConnectionFactoryConfiguration.propertyFile()メソッドでプロパティーファイルを使用するように Data Grid を設定します。XML
<connection-pool properties-file="path/to/agroal.properties"/>
<connection-pool properties-file="path/to/agroal.properties"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON
"persistence": { "connection-pool": { "properties-file": "path/to/agroal.properties" } }"persistence": { "connection-pool": { "properties-file": "path/to/agroal.properties" } }Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML
persistence: connectionPool: propertiesFile: path/to/agroal.propertiespersistence: connectionPool: propertiesFile: path/to/agroal.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigurationBuilder
.connectionPool().propertyFile("path/to/agroal.properties").connectionPool().propertyFile("path/to/agroal.properties")Copy to Clipboard Copied! Toggle word wrap Toggle overflow