データソースの設定
概要
多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 データソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
Quarkus では、統合設定モデルを使用して、Java Database Connectivity (JDBC) とリアクティブデータベースドライバーのデータソースを定義できます。
アプリケーションは、データソースを使用してリレーショナルデータベースにアクセスします。Quarkus では、Java Database Connectivity (JDBC) とリアクティブデータベースドライバーのデータソースを定義するための統合設定モデルが提供されています。
Quarkus では、Agroal と Vert.x を使用することで、JDBC とリアクティブドライバーで高性能かつスケーラブルなデータソース接続プールが可能になります。jdbc-* および reactive-* エクステンションを使用すると、ビルド時間が最適化され、設定したデータソースをセキュリティー、ヘルスチェック、メトリクスなどの Quarkus 機能と統合できます。
リアクティブデータソースの消費と使用の詳細は、Quarkus Reactive SQL clients ガイドを参照してください。
さらに、JDBC データソースの消費と使用については、Quarkus Hibernate ORM ガイドを参照してください。
1.1. Quarkus で datasources の設定を開始する リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、基本的な部分を理解しているユーザー向けに、データソースのセットアップを容易にするための概要とコードサンプルについて説明します。
より高度な設定例については、参考資料 を参照してください。
1.1.1. 開発モードでのゼロコンフィグセットアップ リンクのコピーリンクがクリップボードにコピーされました!
Quarkus では Dev Services 機能を使用することで容易にデータベースを設定でき、開発 (dev) モードでのテストや稼働を目的としたデータベースのゼロコンフィグセットアップが可能になります。開発モードでは、Dev Services を使用して Quarkus にデータベースを処理させることが推奨されます。一方、実稼働モードでは、Quarkus 外で管理されるデータベースを指す明示的なデータベース設定の詳細を指定します。
Dev Services を使用するには、目的のデータベース型に適したドライバーエクステンション (jdbc-postgresql など) を pom.xml ファイルに追加します。開発モードでは、データベース接続の詳細を明示的に指定しない場合、Quarkus が自動的にデータベースのセットアップを処理し、アプリケーションとデータベース間の接続を指定します。
ユーザー認証情報を指定すると、基礎となるデータベースがその認証情報を使用するように設定されます。これは、外部ツールを使用してデータベースに接続する場合に便利です。
この機能を使用するには、データベース型に応じて Docker または Podman コンテナーランタイムがインストールされていることを確認してください。H2 などの特定のデータベースは in-memory モードで動作し、コンテナーランタイムを必要としません。
本番モードで使用する実際の接続詳細の前に %prod を付けて、開発モードに適用されないようにしてください。詳細は、"設定リファレンス" ガイドの プロファイル セクションを参照してください。
Dev Services の詳細は、Dev Services の概要 を参照してください。
詳細とオプションの設定については、Dev Services for databases を参照してください。
1.1.2. JDBC データソースを設定する リンクのコピーリンクがクリップボードにコピーされました!
選択したデータベースに応じて、適切な JDBC エクステンションを追加します。
-
jdbc-db2 -
jdbc-derby -
jdbc-h2 -
jdbc-mariadb -
jdbc-mssql -
jdbc-mysql -
jdbc-oracle -
jdbc-postgresql
-
JDBC データソースを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この設定値は、クラスパス上に複数のデータベースエクステンションがある場合にのみ必要です。
利用可能なエクステンションが 1 つだけの場合、Quarkus はそれが適切であると想定します。ドライバーをテストスコープに追加すると、Quarkus は指定されたドライバーをテストに自動的に含めます。
1.1.2.1. JDBC 接続プールのサイズ調整 リンクのコピーリンクがクリップボードにコピーされました!
負荷のピーク時の過負荷からデータベースを保護するには、データベースの負荷にスロットリングを適用できるようプールサイズを適切に設定します。最適なプールサイズは、並列アプリケーションユーザーの数やワークロードの性質など、多くの要因により異なります。
プールサイズの設定が小さすぎると、接続の待機中に一部のリクエストがタイムアウトになる可能性があることに注意してください。
プールサイズ調整プロパティーの詳細は、JDBC 設定リファレンス セクションを参照してください。
1.1.3. リアクティブデータソースを設定する リンクのコピーリンクがクリップボードにコピーされました!
選択したデータベースに応じて、適切なリアクティブエクステンションを追加します。
-
reactive-db2-client -
reactive-mssql-client -
reactive-mysql-client -
reactive-oracle-client -
reactive-pg-client
-
リアクティブデータソースを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この設定値は、クラスパス上に複数のリアクティブドライバーエクステンションがある場合にのみ必要です。
1.2. データソースを設定する リンクのコピーリンクがクリップボードにコピーされました!
次のセクションでは、単一または複数データソースの設定について説明します。説明をシンプルにするために、単一データソースをデフォルトデータソース (名前なし) とします。
1.2.1. 単一データソースを設定する リンクのコピーリンクがクリップボードにコピーされました!
データソースは、JDBC データソース、リアクティブ、またはその両方になります。これは、プロジェクトエクステンションの設定と選択に応じて決定されます。
次の設定プロパティーを使用してデータソースを定義します。この場合の
db-kindは、接続先のデータベースプラットフォーム (例:h2) を定義します。quarkus.datasource.db-kind=h2
quarkus.datasource.db-kind=h2Copy to Clipboard Copied! Toggle word wrap Toggle overflow Quarkus は、
db-kindデータベースプラットフォーム属性に指定された値から、使用するべき JDBC ドライバークラスを推定します。注記この手順は、アプリケーションが複数のデータベースドライバーに依存する場合にのみ必要です。アプリケーションが単一のドライバーで動作する場合、ドライバーは自動的に検出されます。
Quarkus には現在、次の種類のビルトインデータベースがあります。
-
DB2:
db2 -
Derby:
derby -
H2:
h2 -
MariaDB:
mariadb -
Microsoft SQL Server:
mssql -
MySQL:
mysql -
Oracle:
oracle -
PostgreSQL:
postgresql、pgsqlまたはpg ビルトインではない種類のデータベースを使用する場合は
otherを使用し、JDBC ドライバーを明示的に定義します。注記他のデータベースを使用する で説明されているように、JVM モードの Quarkus アプリケーションでは任意の JDBC ドライバーを使用できます。ただし、ビルトイン以外の種類のデータベースを使用すると、アプリケーションをネイティブ実行可能ファイルにコンパイルする際に機能しない可能性が高くなります。
ネイティブ実行可能ファイルのビルドの場合、利用可能な JDBC Quarkus エクステンションを使用するか、使用する特定のドライバー用のカスタムエクステンションを提供することが推奨されます。
-
DB2:
次のプロパティーを設定して認証情報を定義します。
quarkus.datasource.username=<your username> quarkus.datasource.password=<your password>
quarkus.datasource.username=<your username> quarkus.datasource.password=<your password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow データソースの 認証情報プロバイダーを使用 して、Vault からパスワードを取得することもできます。
これまでは、JDBC とリアクティブドライバーのどちらを使用しているかにかかわらず、設定は同じでした。データベースの種類と認証情報の定義以外は、使用しているドライバーの種類により異なります。JDBC とリアクティブドライバーは、同時に使用できます。
1.2.1.1. JDBC データソース リンクのコピーリンクがクリップボードにコピーされました!
JDBC は最も一般的なデータベース接続パターンであり、通常は非リアクティブな Hibernate ORM と組み合わせて使用する場合に必要です。
JDBC データソースを使用する場合は、まず必要な依存関係を追加します。
ビルトイン JDBC ドライバーで使用する場合は、以下のリストからリレーショナルデータベースドライバーの Quarkus エクステンションを選択して追加します。
-
Derby -
jdbc-derby H2 -
jdbc-h2注記H2 データベースと Derby データベースは、"組み込みモード" で実行するように設定できます。ただし、Derby エクステンションでは、組み込みデータベースエンジンのネイティブ実行可能ファイルへのコンパイルはサポートされていません。
結合テストに関する提案事項については、in-memory データベースを使用してテストする を参照してください。
-
DB2 -
jdbc-db2 -
MariaDB -
jdbc-mariadb -
Microsoft SQL Server -
jdbc-mssql -
MySQL -
jdbc-mysql -
Oracle -
jdbc-oracle -
PostgreSQL -
jdbc-postgresql 他の JDBC エクステンション (SQLite やその ドキュメント など) は、Quarkiverse にあります。
たとえば、PostgreSQL ドライバーの依存関係を追加するには、以下を実行します。
./mvnw quarkus:add-extension -Dextensions="jdbc-postgresql"
./mvnw quarkus:add-extension -Dextensions="jdbc-postgresql"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ビルトイン JDBC ドライバーエクステンションを使用すると、Agroal エクステンションが自動的に組み込まれます。これは、カスタムおよびビルトインの JDBC ドライバーに適用できる JDBC 接続プール実装です。ただし、カスタムドライバーの場合は Agroal を明示的に追加する必要があります。
-
Derby -
カスタム JDBC ドライバーで使用するには、リレーショナルデータベースドライバーのエクステンションとともに
quarkus-agroal依存関係をプロジェクトに追加します。./mvnw quarkus:add-extension -Dextensions="agroal"
./mvnw quarkus:add-extension -Dextensions="agroal"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 別のデータベースの JDBC ドライバーを使用するには、ビルトインエクステンションがない、または別のドライバーがあるデータベースを使用 します。
JDBC URL プロパティーを定義して JDBC 接続を設定します。
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/hibernate_orm_test
quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/hibernate_orm_testCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記プロパティー名の接頭辞
jdbcに注意してください。JDBC 固有のすべての設定プロパティーには、接頭辞としてjdbcが付いています。リアクティブデータソースの場合、接頭辞はreactiveです。
JDBC の設定の詳細は、JDBC URL フォーマットのリファレンス および Quarkus エクステンションとデータベースドライバーのリファレンス を参照してください。
1.2.1.1.1. カスタムデータベースとドライバー リンクのコピーリンクがクリップボードにコピーされました!
JDBC ドライバーを使用して、Quarkus がエクステンションを提供しないデータベースに接続する必要がある場合は、代わりにカスタムドライバーを使用できます。たとえば、プロジェクトで OpenTracing JDBC ドライバーを使用している場合です。
エクステンションがなければ、ドライバーは JVM モードで実行されている Quarkus アプリケーションで正常に動作します。しかし、アプリケーションをネイティブ実行可能ファイルにコンパイルする際に、ドライバーが機能しない可能性があります。ネイティブ実行可能ファイルを作成する予定がある場合は、既存の JDBC Quarkus エクステンションを使用するか、ドライバー用にエクステンションを提供してください。
OpenTracing ドライバーを使用した例:
quarkus.datasource.jdbc.driver=io.opentracing.contrib.jdbc.TracingDriver
quarkus.datasource.jdbc.driver=io.opentracing.contrib.jdbc.TracingDriver
JVM モードでビルトインサポートがないデータベースへのアクセスを定義した例:
quarkus.datasource.db-kind=other quarkus.datasource.jdbc.driver=oracle.jdbc.driver.OracleDriver quarkus.datasource.jdbc.url=jdbc:oracle:thin:@192.168.1.12:1521/ORCL_SVC quarkus.datasource.username=scott quarkus.datasource.password=tiger
quarkus.datasource.db-kind=other
quarkus.datasource.jdbc.driver=oracle.jdbc.driver.OracleDriver
quarkus.datasource.jdbc.url=jdbc:oracle:thin:@192.168.1.12:1521/ORCL_SVC
quarkus.datasource.username=scott
quarkus.datasource.password=tiger
JDBC 設定オプションや、接続プールサイズなどの他の側面の設定に関する詳細は、JDBC 設定リファレンス セクションを参照してください。
1.2.1.1.2. データソースを消費する リンクのコピーリンクがクリップボードにコピーされました!
Hibernate ORM を使用すると、Hibernate レイヤーが自動的にデータソースを取得して使用します。
データソースへの in-code アクセスでは、次のように他の Bean としてデータソースを取得する必要があります。
@Inject AgroalDataSource defaultDataSource;
@Inject
AgroalDataSource defaultDataSource;
上記の例のタイプは AgroalDataSource、つまり javax.sql.DataSource サブタイプです。そのため、注入されたタイプとして javax.sql.DataSource も使用できます。
1.2.1.2. リアクティブデータソース リンクのコピーリンクがクリップボードにコピーされました!
Quarkus では、リアクティブデータソースで使用できるリアクティブクライアントがいくつか提供されています。
対応するエクステンションをアプリケーションに追加します。
-
DB2:
quarkus-reactive-db2-client -
MariaDB/MySQL:
quarkus-reactive-mysql-client -
Microsoft SQL Server:
quarkus-reactive-mssql-client -
Oracle:
quarkus-reactive-oracle-client PostgreSQL:
quarkus-reactive-pg-clientインストールされたエクステンションは、データソース設定で定義した
quarkus.datasource.db-kindと一致する必要があります。
-
DB2:
ドライバーを追加した後、接続 URL を設定し、接続プールの適切なサイズを定義します。
quarkus.datasource.reactive.url=postgresql:///your_database quarkus.datasource.reactive.max-size=20
quarkus.datasource.reactive.url=postgresql:///your_database quarkus.datasource.reactive.max-size=20Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.1.2.1. リアクティブ接続プールのサイズ調整 リンクのコピーリンクがクリップボードにコピーされました!
負荷のピーク時の過負荷からデータベースを保護するには、データベースの負荷にスロットリングを適用できるようプールサイズを適切に設定します。適切なサイズは、並列アプリケーションユーザーの数やワークロードの性質など、多くの要因により異なります。
プールサイズの設定が小さすぎると、接続の待機中に一部のリクエストがタイムアウトになる可能性があることに注意してください。
プールサイズ調整プロパティーの詳細は、リアクティブデータソース設定リファレンス セクションを参照してください。
1.2.1.3. JDBC とリアクティブデータソースの同時使用 リンクのコピーリンクがクリップボードにコピーされました!
JDBC エクステンション (と Agroal) および特定の種類のデータベースを処理するリアクティブデータソースエクステンションが含まれている場合、デフォルトで両方が作成されます。
JDBC データソースを明示的に無効にするには、以下を実行します。
quarkus.datasource.jdbc=false
quarkus.datasource.jdbc=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow リアクティブデータソースを明示的に無効にするには、以下を実行します。
quarkus.datasource.reactive=false
quarkus.datasource.reactive=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントほとんどの場合、JDBC ドライバーとリアクティブデータソースエクステンションは、両方ではなくいずれか一方のみ存在するため、上記の設定はオプションです。
1.2.2. 複数のデータソースを設定する リンクのコピーリンクがクリップボードにコピーされました!
Hibernate ORM エクステンションは、設定プロパティーを使用した 永続化ユニット の定義をサポートします。永続ユニットごとに、選択したデータソースを参照できます。
複数のデータソースを定義することは、単一のデータソースを定義するのと同じように機能しますが、重要な相違点として名前 (設定キー) を定義する必要があります。
次の例では、3 つの異なるデータソースを示しています。
- デフォルトのデータソース
-
usersという名前のデータソース -
inventoryという名前のデータソース
それぞれの設定は次のとおりです。
設定キーに追加のセクションがあることに注意してください。構文は quarkus.datasource.[optional name.][datasource property] です。
データベースエクステンションが 1 つだけインストールされている場合でも、Quarkus がそれを検出できるように、名前付きデータベースは少なくとも1 つのビルドタイムプロパティーを指定する必要があります。通常これは db-kind プロパティーですが、Dev Services for Databases ガイドに従って、Dev Services プロパティーを指定して名前付きデータソースを作成することもできます。
1.2.2.1. 名前付きデータソースの注入 リンクのコピーリンクがクリップボードにコピーされました!
複数のデータソースを使用する場合、各 DataSource には、データソースの名前を値として持つ io.quarkus.agroal.DataSource 修飾子もあります。
前のセクションで説明したプロパティーを使用して 3 つの異なるデータソースを設定し、それぞれを次のように注入します。
1.3. データソースのインテグレーション リンクのコピーリンクがクリップボードにコピーされました!
1.3.1. データソースヘルスチェック リンクのコピーリンクがクリップボードにコピーされました!
quarkus-smallrye-health エクステンションを使用する場合は、quarkus-agroal エクステンションおよびリアクティブクライアントエクステンションが自動的にレディネスヘルスチェックを追加してデータソースを検証します。
アプリケーションのヘルスレディネスエンドポイント (デフォルトは /q/health/ready) にアクセスすると、データソースの検証ステータスに関する情報を受け取ります。複数のデータソースがある場合はすべてのデータソースがチェックされ、そのうちの 1 つでもデータソース検証に失敗すると、ステータスが DOWN に遷移します。
この動作は、quarkus.datasource.health.enabled プロパティーを使用して無効にできます。
特定のデータソースのみをヘルスチェックから除外するには、以下を使用します。
quarkus.datasource."datasource-name".health-exclude=true
quarkus.datasource."datasource-name".health-exclude=true
1.3.2. データソースメトリクス リンクのコピーリンクがクリップボードにコピーされました!
quarkus-micrometer または quarkus-smallrye-metrics エクステンションを使用している場合、quarkus-agroal は一部のデータソース関連のメトリクスをメトリクスレジストリーに提供できます。これは、quarkus.datasource.metrics.enabled プロパティーを true に設定することでアクティブ化できます。
メトリクスに実際の値を含むメトリクスを公開するには、Agroal メカニズムを使用して内部でメトリクスを有効にする必要があります。メトリクスエクステンションが存在し、Agroal エクステンションのメトリクスが有効になっている場合、このメトリクス収集メカニズムはデフォルトですべてのデータソースに対して有効になります。
特定のデータソースのメトリクスを無効にするには、quarkus.datasource.jdbc.enable-metrics を false に設定するか、名前付きデータソースに quarkus.datasource.<datasource name>.jdbc.enable-metrics を適用します。これにより、収集メカニズムが無効の場合は、メトリクスの収集と /q/metrics エンドポイントへの公開が無効になります。
逆に、quarkus.datasource.jdbc.enable-metrics を true に設定するか、名前付きデータソースに quarkus.datasource.<datasource name>.jdbc.enable-metrics を設定すると、メトリクスエクステンションが使用されていない場合でもメトリクス収集が明示的に有効になります。これは、収集されたメトリクスにプログラムを使用してアクセスする必要がある場合に役立ちます。これらは、注入された AgroalDataSource インスタンスで dataSource.getMetrics() を呼び出すと使用可能になります。
このデータソースのメトリクス収集が無効になっている場合、すべての値はゼロになります。
1.3.3. Narayana Transaction Manager のインテグレーション リンクのコピーリンクがクリップボードにコピーされました!
Narayana JTA エクステンションも使用できる場合、インテグレーションは自動的に行われます。
これは、transactions 設定プロパティーを設定することでオーバーライドできます。
-
デフォルトの名前が指定されていないデータソースの
quarkus.datasource.jdbc.transactions -
名前付きデータソースの
quarkus.datasource.<datasource-name>.jdbc.transactions
詳細は、後述の 設定リファレンス セクションを参照してください。
データベースへのトランザクションログの保存を JDBC を使用して容易にするには、Quarkus でのトランザクションの使用 ガイドの データソースに保存されるトランザクションログの設定 セクションを参照してください。
1.3.3.1. 名前付きデータソース リンクのコピーリンクがクリップボードにコピーされました!
Dev Services を使用する場合、必ずデフォルトのデータソースが作成されます。しかし、名前付きデータソースを指定するには、Quarkus がデータソースの作成方法を検出できるように、少なくとも 1 つのビルドタイムプロパティーが必要です。
通常は、db-kind プロパティーを指定するか、quarkus.datasource."name".devservices.enabled=true を設定して Dev Services を明示的に有効にします。
1.3.4. in-memory データベースを使用したテスト リンクのコピーリンクがクリップボードにコピーされました!
H2 や Derby などの一部のデータベースは、結合テストを迅速に実行するファシリティーとして頻繁に 組み込みモード で使用されます。
この場合、実稼働環境で使用する予定の実際のデータベースを使用することが推奨されます。特に Dev Services がテスト用にゼロコンフィグデータベースを提供 しており、比較的迅速にコンテナーをテストでき、実際の環境で期待どおりの結果が得られる場合に当てはまります。ただし、単純な結合テストを実行する機能が必要なシナリオでは、JVM 対応データベースを使用することもできます。
1.3.4.1. サポートと制限事項 リンクのコピーリンクがクリップボードにコピーされました!
組み込みデータベース (H2 および Derby) は JVM モードで動作します。ネイティブモードの場合、次の制限が適用されます。
- ネイティブモードでは、Derby をアプリケーションに組み込めません。ただし、Quarkus Derby エクステンションを使用すると、Derby JDBC クライアント のネイティブコンパイルが可能になり、リモート 接続がサポートされます。
- ネイティブイメージに H2 を組み込むことは推奨されません。代わりに別のデータベースへのリモート接続を使用するなど、別の方法を検討してください。
1.3.4.2. 結合テストを実行する リンクのコピーリンクがクリップボードにコピーされました!
次の Maven コーディネートの下にある追加ツールを提供するアーティファクトに依存関係を追加します。
-
H2 の場合は
io.quarkus:quarkus-test-h2 Derby の場合は
io.quarkus:quarkus-test-derbyこれにより、データベースが JVM プロセスとして実行されている間、アプリケーションがネイティブ実行可能ファイルにコンパイルされていても、アプリケーションをテストできるようになります。
-
H2 の場合は
JVM またはネイティブ実行可能ファイルの両方で結合テストを実行するには、結合テストの任意のクラスに次のアノテーションを追加します。
-
@QuarkusTestResource(H2DatabaseTestResource.class) @QuarkusTestResource(DerbyDatabaseTestResource.class)そうすることで、テストの実行で必要なとおり、テストスイートはマネージドデータベースを必ず別のプロセスで開始および終了します。
H2 の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
マネージドデータベースへの接続を設定します。
quarkus.datasource.db-kind=h2 quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:test
quarkus.datasource.db-kind=h2 quarkus.datasource.jdbc.url=jdbc:h2:tcp://localhost/mem:testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. 参考資料 リンクのコピーリンクがクリップボードにコピーされました!
1.4.1. 共通データソース設定リファレンス リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
接続先のデータベースの種類 (h2、postgresql など)。
環境変数: | string | |
|
接続先のデータベースのバージョン (例: '10.0'). Important
ここで設定するバージョン番号は、データベースの JDBC ドライバーの 原則として、ここでは可能な限り高いバージョンを設定する必要がありますが、アプリケーションの接続先となるデータベースのバージョン以下でなければなりません。 バージョンが高いほどパフォーマンスが向上し、より多くの機能を使用できます (たとえば、Hibernate ORM はより効率的な SQL を生成し、回避策を回避し、より多くのデータベース機能を活用できます)。しかし、接続先のデータベースよりバージョンが高いと、ランタイム例外が発生する (たとえば、Hibernate ORM がデータベースが拒否する無効な SQL を生成する) 可能性があります。 一部のエクステンション (Hibernate ORM エクステンションなど) は、起動時にこのバージョンを実際のデータベースバージョンと照合しようとします。そのため、実際のバージョンが低いために起動に失敗するか、データベースにアクセスできずに警告が表示されます。 このプロパティーのデフォルトは各エクステンションにより異なり、Hibernate ORM エクステンションのデフォルトは最も古いサポート対象のバージョンです。
環境変数: | string | |
|
DevServices が明示的に有効または無効になっている場合。既存の設定がある場合を除き、DevServices は通常、デフォルトで有効になります。DevServices が有効になっている場合、Quarkus は開発モードまたはテストモードでの実行時に、データベースを自動的に設定して起動しようとします。
環境変数: | boolean | |
|
コンテナーベースの DevServices プロバイダーのコンテナーイメージ名。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
開発サービスがリッスンするオプションの固定ポート。 定義されていない場合、ポートはランダムに選択されます。
環境変数: | int | |
|
コンテナーベースの DevServices プロバイダーに使用するコンテナー開始コマンド。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するデータベース名。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するユーザー名。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するパスワード。
環境変数: | string | |
|
クラスパスからロードされ、Dev Service データベースに適用される SQL スクリプトへのパス。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
データソースの一般的なヘルスチェックが有効になっている場合に、この特定のデータソースをヘルスチェックから除外するかどうか。 デフォルトでは、ヘルスチェックには設定されているすべてのデータソースが含まれます (有効になっている場合)。
環境変数: | boolean |
|
|
smallrye-health エクステンションが存在する場合にヘルスチェックを公開するかどうか。 これはグローバル設定であり、データソース固有の設定ではありません。
環境変数: | boolean |
|
|
メトリクスエクステンションが存在する場合にデータソースメトリクスを公開するかどうか。 これはグローバル設定であり、データソース固有の設定ではありません。 注記 これは、データソースのメトリクス収集を有効にするために JDBC データソースレベルで設定する必要がある "jdbc.enable-metrics" プロパティーとは異なります。
環境変数: | boolean |
|
|
データソースのユーザー名
環境変数: | string | |
|
データソースのパスワード
環境変数: | string | |
|
認証情報プロバイダー名
環境変数: | string | |
|
認証情報プロバイダーの Bean 名。
これは、
Vault の場合、認証情報プロバイダー Bean 名は
環境変数: | string | |
|
コンテナーに渡される環境変数。
環境変数: |
| |
|
追加のコンテナー設定に渡される汎用プロパティー。 ここで定義されるプロパティーはデータベース固有であり、各データベースの Dev Service 実装で解釈されます。
環境変数: |
| |
|
データベース接続 URL に追加される汎用プロパティー。
環境変数: |
| |
|
コンテナーにマッピングされるボリューム。マップキーはホストの場所に対応します。マップ値はコンテナーの場所です。ホストの場所が "classpath:" で始まる場合、マッピングは読み取り専用権限でクラスパスからリソースをロードします。ファイルシステムの場所を使用する場合、ボリュームは読み取り/書き込み権限で生成されるため、ファイルシステムでデータの損失や変更が発生する可能性があります。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: |
| |
| 型 | デフォルト | |
|
接続先のデータベースの種類 (h2、postgresql など)。
環境変数: | string | |
|
接続先のデータベースのバージョン (例: '10.0'). Important
ここで設定するバージョン番号は、データベースの JDBC ドライバーの 原則として、ここでは可能な限り高いバージョンを設定する必要がありますが、アプリケーションの接続先となるデータベースのバージョン以下でなければなりません。 バージョンが高いほどパフォーマンスが向上し、より多くの機能を使用できます (たとえば、Hibernate ORM はより効率的な SQL を生成し、回避策を回避し、より多くのデータベース機能を活用できます)。しかし、接続先のデータベースよりバージョンが高いと、ランタイム例外が発生する (たとえば、Hibernate ORM がデータベースが拒否する無効な SQL を生成する) 可能性があります。 一部のエクステンション (Hibernate ORM エクステンションなど) は、起動時にこのバージョンを実際のデータベースバージョンと照合しようとします。そのため、実際のバージョンが低いために起動に失敗するか、データベースにアクセスできずに警告が表示されます。 このプロパティーのデフォルトは各エクステンションにより異なり、Hibernate ORM エクステンションのデフォルトは最も古いサポート対象のバージョンです。
環境変数: | string | |
|
DevServices が明示的に有効または無効になっている場合。既存の設定がある場合を除き、DevServices は通常、デフォルトで有効になります。DevServices が有効になっている場合、Quarkus は開発モードまたはテストモードでの実行時に、データベースを自動的に設定して起動しようとします。
環境変数: | boolean | |
|
コンテナーベースの DevServices プロバイダーのコンテナーイメージ名。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
コンテナーに渡される環境変数。
環境変数: |
| |
|
追加のコンテナー設定に渡される汎用プロパティー。 ここで定義されるプロパティーはデータベース固有であり、各データベースの Dev Service 実装で解釈されます。
環境変数: |
| |
|
データベース接続 URL に追加される汎用プロパティー。
環境変数: |
| |
|
開発サービスがリッスンするオプションの固定ポート。 定義されていない場合、ポートはランダムに選択されます。
環境変数: | int | |
|
コンテナーベースの DevServices プロバイダーに使用するコンテナー開始コマンド。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するデータベース名。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するユーザー名。
環境変数: | string | |
|
この Dev Service がオーバーライドをサポートする場合に使用するパスワード。
環境変数: | string | |
|
クラスパスからロードされ、Dev Service データベースに適用される SQL スクリプトへのパス。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: | string | |
|
コンテナーにマッピングされるボリューム。マップキーはホストの場所に対応します。マップ値はコンテナーの場所です。ホストの場所が "classpath:" で始まる場合、マッピングは読み取り専用権限でクラスパスからリソースをロードします。ファイルシステムの場所を使用する場合、ボリュームは読み取り/書き込み権限で生成されるため、ファイルシステムでデータの損失や変更が発生する可能性があります。プロバイダーが H2 や Derby などのコンテナーベースのデータベースでない場合、これは効果がありません。
環境変数: |
| |
|
データソースの一般的なヘルスチェックが有効になっている場合に、この特定のデータソースをヘルスチェックから除外するかどうか。 デフォルトでは、ヘルスチェックには設定されているすべてのデータソースが含まれます (有効になっている場合)。
環境変数: | boolean |
|
|
データソースのユーザー名
環境変数: | string | |
|
データソースのパスワード
環境変数: | string | |
|
認証情報プロバイダー名
環境変数: | string | |
|
認証情報プロバイダーの Bean 名。
これは、
Vault の場合、認証情報プロバイダー Bean 名は
環境変数: | string |
1.4.2. JDBC 設定リファレンス リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
このデータソースの JDBC データソースを作成する場合。
環境変数: | boolean |
|
|
データソースドライバーのクラス名
環境変数: | string | |
|
通常の JDBC トランザクション、XA を使用するか、すべてのトランザクション機能を無効にするか。
XA を有効にする場合は、
環境変数: |
|
|
|
データソースメトリクスの収集を有効にします。指定しない場合、メトリクスエクステンションがアクティブであれば、デフォルトでメトリクス収集が有効になります。
環境変数: | boolean | |
|
JDBC トレーシングを有効にします。デフォルトでは無効になっています。
環境変数: | boolean |
|
|
OpenTelemetry JDBC インストルメンテーションを有効にします。
環境変数: | boolean |
|
|
データソースの URL
環境変数: | string | |
|
プールの初期サイズ。通常、初期サイズは少なくとも最小サイズに一致するように設定する必要がありますが、強制ではありません。これは、起動時に接続の遅延初期化を優先するアーキテクチャーを可能にし、一方で起動後に最小プールサイズを維持できるようにするためです。
環境変数: | int | |
|
データソースプールの最小サイズ
環境変数: | int |
|
|
データソースプールの最大サイズ
環境変数: | int |
|
|
バックグラウンドでアイドル状態の接続を検証する間隔。
バックグラウンド検証を無効にするには、
環境変数: |
| |
|
指定された間隔よりも長くアイドル状態になっている接続に対し、フォアグラウンド検証を実行します。
環境変数: | ||
|
新しい接続の取得をキャンセルするまでのタイムアウト
環境変数: |
| |
|
接続リークをチェックする間隔。
環境変数: |
| |
|
アイドル状態の接続の削除を試行する間隔。
環境変数: |
| |
|
接続の最大存続期間。
環境変数: |
| |
|
トランザクション分離レベル。
環境変数: |
| |
|
リークされた接続に関する追加のトラブルシューティング情報を収集して表示します。
環境変数: | boolean |
|
|
プールに返すときに接続をフラッシュできるようにします。デフォルトでは有効になっていません。
環境変数: | boolean |
|
|
有効にすると、開いているすべてのステートメントがアプリケーションにより閉じられないまま接続がプールに返された場合に、Agroal は警告を生成できるようになります。これは、オープン接続の追跡とは関係ありません。パフォーマンスを最大化するために無効にしますが、リークが発生していないという高い信頼性がある場合に限ります。
環境変数: | boolean |
|
|
接続の初回使用時に実行されるクエリー。
環境変数: | string | |
|
接続を検証するために実行されるクエリー。
環境変数: | string | |
|
接続の再利用を防ぐためにプーリングを無効にします。外部プールが接続のライフサイクルを管理する場合に使用します。
環境変数: | boolean |
|
|
接続の取得時にアクティブなトランザクションを要求します。実稼働環境で推奨されます。警告: 一部のエクステンションは、スキーマ更新やスキーマ検証などのトランザクションを保持せずに接続を取得します。その場合、これを STRICT に設定すると失敗する可能性があります。
環境変数: |
| |
|
JDBC トレーシングを有効にします。
環境変数: | boolean |
|
|
アクティブなスパンを持つコールのみをトレースします
環境変数: | boolean |
|
|
特定のクエリーがトレースされないようにします。
環境変数: | string |
|
|
OpenTelemetry JDBC インストルメンテーションを有効にします。
環境変数: | boolean |
|
|
新しい接続の作成時に JDBC ドライバーに渡される、その他の未指定のプロパティー。
環境変数: |
| |
| 型 | デフォルト | |
|
このデータソースの JDBC データソースを作成する場合。
環境変数: | boolean |
|
|
データソースドライバーのクラス名
環境変数: | string | |
|
通常の JDBC トランザクション、XA を使用するか、すべてのトランザクション機能を無効にするか。
XA を有効にする場合は、
環境変数: |
|
|
|
データソースメトリクスの収集を有効にします。指定しない場合、メトリクスエクステンションがアクティブであれば、デフォルトでメトリクス収集が有効になります。
環境変数: | boolean | |
|
JDBC トレーシングを有効にします。デフォルトでは無効になっています。
環境変数: | boolean |
|
|
OpenTelemetry JDBC インストルメンテーションを有効にします。
環境変数: | boolean |
|
|
データソースの URL
環境変数: | string | |
|
プールの初期サイズ。通常、初期サイズは少なくとも最小サイズに一致するように設定する必要がありますが、強制ではありません。これは、起動時に接続の遅延初期化を優先するアーキテクチャーを可能にし、一方で起動後に最小プールサイズを維持できるようにするためです。
環境変数: | int | |
|
データソースプールの最小サイズ
環境変数: | int |
|
|
データソースプールの最大サイズ
環境変数: | int |
|
|
バックグラウンドでアイドル状態の接続を検証する間隔。
バックグラウンド検証を無効にするには、
環境変数: |
| |
|
指定された間隔よりも長くアイドル状態になっている接続に対し、フォアグラウンド検証を実行します。
環境変数: | ||
|
新しい接続の取得をキャンセルするまでのタイムアウト
環境変数: |
| |
|
接続リークをチェックする間隔。
環境変数: |
| |
|
アイドル状態の接続の削除を試行する間隔。
環境変数: |
| |
|
接続の最大存続期間。
環境変数: |
| |
|
トランザクション分離レベル。
環境変数: |
| |
|
リークされた接続に関する追加のトラブルシューティング情報を収集して表示します。
環境変数: | boolean |
|
|
プールに返すときに接続をフラッシュできるようにします。デフォルトでは有効になっていません。
環境変数: | boolean |
|
|
有効にすると、開いているすべてのステートメントがアプリケーションにより閉じられないまま接続がプールに返された場合に、Agroal は警告を生成できるようになります。これは、オープン接続の追跡とは関係ありません。パフォーマンスを最大化するために無効にしますが、リークが発生していないという高い信頼性がある場合に限ります。
環境変数: | boolean |
|
|
接続の初回使用時に実行されるクエリー。
環境変数: | string | |
|
接続を検証するために実行されるクエリー。
環境変数: | string | |
|
接続の再利用を防ぐためにプーリングを無効にします。外部プールが接続のライフサイクルを管理する場合に使用します。
環境変数: | boolean |
|
|
接続の取得時にアクティブなトランザクションを要求します。実稼働環境で推奨されます。警告: 一部のエクステンションは、スキーマ更新やスキーマ検証などのトランザクションを保持せずに接続を取得します。その場合、これを STRICT に設定すると失敗する可能性があります。
環境変数: |
| |
|
新しい接続の作成時に JDBC ドライバーに渡される、その他の未指定のプロパティー。
環境変数: |
| |
|
JDBC トレーシングを有効にします。
環境変数: | boolean |
|
|
アクティブなスパンを持つコールのみをトレースします
環境変数: | boolean |
|
|
特定のクエリーがトレースされないようにします。
環境変数: | string |
|
|
OpenTelemetry JDBC インストルメンテーションを有効にします。
環境変数: | boolean |
|
duration の値を書き込むには、標準の java.time.Duration フォーマットを使用します。詳細は、Duration#parse() javadoc を参照してください。
数字で始まる簡略化されたフォーマットも使用できます。
- 値が数値のみの場合は、秒単位の時間を表します。
-
数字の後に
msが続く値は、ミリ秒単位の時間を表します。
その他の場合は、解析のために簡略化されたフォーマットが java.time.Duration フォーマットに変換されます。
-
数字の後に
h、m、またはsが続く値には、接頭辞PTが付きます。 -
数字の後に
dが続く値は、接頭辞Pが付きます。
1.4.3. JDBC URL リファレンス リンクのコピーリンクがクリップボードにコピーされました!
サポートされている各データベースには、異なる JDBC URL 設定オプションが含まれています。次のセクションでは、各データベース URL の概要と公式ドキュメントへのリンクを示します。
1.4.3.1. DB2 リンクのコピーリンクがクリップボードにコピーされました!
jdbc:db2://<serverName>[:<portNumber>]/<databaseName>[:<key1>=<value>;[<key2>=<value2>;]]
- 例
-
jdbc:db2://localhost:50000/MYDB:user=dbadm;password=dbadm;
URL 構文とその他のサポートされるオプションの詳細は、公式ドキュメント を参照してください。
1.4.3.2. Derby リンクのコピーリンクがクリップボードにコピーされました!
jdbc:derby:[//serverName[:portNumber]/][memory:]databaseName[;property=value[;property=value]]
- 例
-
jdbc:derby://localhost:1527/myDB,jdbc:derby:memory:myDB;create=true
Derby は、ファイルに基づきサーバーとして実行することも、完全にインメモリーで実行することもできる組み込みデータベースです。上記のオプションはすべて利用可能です。
詳細は、公式ドキュメント を参照してください。
1.4.3.3. H2 リンクのコピーリンクがクリップボードにコピーされました!
jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value…]
- 例
-
jdbc:h2:tcp://localhost/~/test,jdbc:h2:mem:myDB
H2 は、組み込みモードまたはサーバーモードで実行できるデータベースです。ファイルストレージを使用することも、完全にインメモリーで実行することも可能です。上記のオプションはすべて利用可能です。
詳細は、公式ドキュメント を参照してください。
1.4.3.4. MariaDB リンクのコピーリンクがクリップボードにコピーされました!
jdbc:mariadb:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: <host>[:<portnumber>] or address=(host=<host>)[(port=<portnumber>)][(type=(master|slave))]
- 例
-
jdbc:mariadb://localhost:3306/test
詳細は、公式ドキュメント を参照してください。
1.4.3.5. Microsoft SQL サーバー リンクのコピーリンクがクリップボードにコピーされました!
jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
- 例
-
jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks
Microsoft SQL Server JDBC ドライバーは、基本的に他のドライバーと同じように動作します。
詳細は、公式ドキュメント を参照してください。
1.4.3.6. MySQL リンクのコピーリンクがクリップボードにコピーされました!
jdbc:mysql:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: <host>[:<portnumber>] or address=(host=<host>)[(port=<portnumber>)][(type=(master|slave))]
- 例
-
jdbc:mysql://localhost:3306/test
詳細は、公式ドキュメント を参照してください。
1.4.3.6.1. MySQL の制限事項 リンクのコピーリンクがクリップボードにコピーされました!
Quarkus アプリケーションをネイティブイメージにコンパイルする場合、JMX および Oracle Cloud Infrastructure (OCI) のインテグレーションに対する MySQL サポートは、GraalVM ネイティブイメージと互換性がないため無効になります。
- ネイティブモードで実行する場合に JMX サポートがないのは当然の結果であり、解決される見込みはありません。
- OCI とのインテグレーションはサポートされていません。
1.4.3.7. Oracle リンクのコピーリンクがクリップボードにコピーされました!
jdbc:oracle:driver_type:@database_specifier
- 例
-
jdbc:oracle:thin:@localhost:1521/ORCL_SVC
詳細は、公式ドキュメント を参照してください。
1.4.3.8. PostgreSQL リンクのコピーリンクがクリップボードにコピーされました!
jdbc:postgresql:[//][host][:port][/database][?key=value…]
- 例
-
jdbc:postgresql://localhost/test
各部分のデフォルトは次のとおりです。
host- localhost
port- 5432
database- ユーザー名と同じ名前
追加パラメーターの詳細は、公式ドキュメント を参照してください。
1.4.4. Quarkus エクステンションとデータベースドライバーのリファレンス リンクのコピーリンクがクリップボードにコピーされました!
次の表は、ビルトイン db-kind 値、対応する Quarkus エクステンション、およびそれらのエクステンションで使用される JDBC ドライバーを示しています。
ビルトインデータソースの種類のいずれかを使用する場合、JDBC ドライバーとリアクティブドライバーはこの表の値と一致するように自動的に解決されます。
| データベースの種類 | Quarkus エクステンション | ドライバー |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| データベースの種類 | Quarkus エクステンション | ドライバー |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ほとんどの場合、この自動解決を適用できるため、ドライバーの設定は必要ありません。
1.4.5. リアクティブデータソース設定リファレンス リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
このデータソースに対してリアクティブデータソースを作成する場合。
環境変数: | boolean |
|
|
準備されたステートメントをクライアント側でキャッシュするかどうか。
環境変数: | boolean |
|
|
データソースの URL。 複数の値が設定されている場合、このデータソースは 1 つのサーバーではなくサーバーリストを含むプールを作成します。プールは、接続確立時のサーバー選択にラウンドロビン負荷分散を使用します。一部のドライバーは、このコンテキストで複数の値をサポートできない場合があることに注意してください。
環境変数: | 文字列のリスト | |
|
データソースプールの最大サイズ。
環境変数: | int |
|
|
新しい接続オブジェクトが作成されると、プールはそれにイベントループを割り当てます。
環境変数: | int | |
|
すべてのサーバー証明書を信頼するかどうか。
環境変数: | boolean |
|
|
デフォルトで、PEM Trust 設定は無効になっています。
環境変数: | boolean |
|
|
信頼証明書ファイルのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
デフォルトで、JKS 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルのパス (JKS フォーマット)。
環境変数: | string | |
|
キーファイルのパスワード。
環境変数: | string | |
|
デフォルトで、PFX 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパス (PFX フォーマット)。
環境変数: | string | |
|
キーのパスワード。
環境変数: | string | |
|
デフォルトで、PEM キー/証明書設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパスのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
証明書ファイルへのパスのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
デフォルトで、JKS 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルのパス (JKS フォーマット)。
環境変数: | string | |
|
キーファイルのパスワード。
環境変数: | string | |
|
デフォルトで、PFX 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパス (PFX フォーマット)。
環境変数: | string | |
|
キーのパスワード。
環境変数: | string | |
|
プールされた接続が初回試行時に確立できなかった場合の再接続の試行回数。
環境変数: | int |
|
|
プールされた接続が初回試行時に確立できなかった場合の再接続の試行間隔。
環境変数: |
| |
|
サーバーのアイデンティティーをチェックする必要がある場合に使用するホスト名検証アルゴリズム。HTTPS、LDAPS、または空の文字列とします。
環境変数: | string | |
|
プール内で未使用の接続が閉じられるまでの、未使用状態の最大継続時間。
環境変数: |
| |
|
データソース間でプールを共有する場合は true に設定します。複数の共有プールを名前で区別できます。特定の名前を設定しない場合、
環境変数: | boolean |
|
|
プール名を設定します。この名前は、プールがデータソース間で共有される場合に使用され、それ以外では無視されます。
環境変数: | string | |
|
新しい接続の開始時に、リアクティブ SQL クライアントを介してデータベースに直接渡されるその他の未指定のプロパティー。
環境変数: |
| |
| 型 | デフォルト | |
|
このデータソースに対してリアクティブデータソースを作成する場合。
環境変数: | boolean |
|
|
準備されたステートメントをクライアント側でキャッシュするかどうか。
環境変数: | boolean |
|
|
データソースの URL。 複数の値が設定されている場合、このデータソースは 1 つのサーバーではなくサーバーリストを含むプールを作成します。プールは、接続確立時のサーバー選択にラウンドロビン負荷分散を使用します。一部のドライバーは、このコンテキストで複数の値をサポートできない場合があることに注意してください。
環境変数: | 文字列のリスト | |
|
データソースプールの最大サイズ。
環境変数: | int |
|
|
新しい接続オブジェクトが作成されると、プールはそれにイベントループを割り当てます。
環境変数: | int | |
|
すべてのサーバー証明書を信頼するかどうか。
環境変数: | boolean |
|
|
デフォルトで、PEM Trust 設定は無効になっています。
環境変数: | boolean |
|
|
信頼証明書ファイルのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
デフォルトで、JKS 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルのパス (JKS フォーマット)。
環境変数: | string | |
|
キーファイルのパスワード。
環境変数: | string | |
|
デフォルトで、PFX 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパス (PFX フォーマット)。
環境変数: | string | |
|
キーのパスワード。
環境変数: | string | |
|
デフォルトで、PEM キー/証明書設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパスのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
証明書ファイルへのパスのコンマ区切りリスト (Pem フォーマット)。
環境変数: | 文字列のリスト | |
|
デフォルトで、JKS 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルのパス (JKS フォーマット)。
環境変数: | string | |
|
キーファイルのパスワード。
環境変数: | string | |
|
デフォルトで、PFX 設定は無効になっています。
環境変数: | boolean |
|
|
キーファイルへのパス (PFX フォーマット)。
環境変数: | string | |
|
キーのパスワード。
環境変数: | string | |
|
プールされた接続が初回試行時に確立できなかった場合の再接続の試行回数。
環境変数: | int |
|
|
プールされた接続が初回試行時に確立できなかった場合の再接続の試行間隔。
環境変数: |
| |
|
サーバーのアイデンティティーをチェックする必要がある場合に使用するホスト名検証アルゴリズム。HTTPS、LDAPS、または空の文字列とします。
環境変数: | string | |
|
プール内で未使用の接続が閉じられるまでの、未使用状態の最大継続時間。
環境変数: |
| |
|
データソース間でプールを共有する場合は true に設定します。複数の共有プールを名前で区別できます。特定の名前を設定しない場合、
環境変数: | boolean |
|
|
プール名を設定します。この名前は、プールがデータソース間で共有される場合に使用され、それ以外では無視されます。
環境変数: | string | |
|
新しい接続の開始時に、リアクティブ SQL クライアントを介してデータベースに直接渡されるその他の未指定のプロパティー。
環境変数: |
|
duration の値を書き込むには、標準の java.time.Duration フォーマットを使用します。詳細は、Duration#parse() javadoc を参照してください。
数字で始まる簡略化されたフォーマットも使用できます。
- 値が数値のみの場合は、秒単位の時間を表します。
-
数字の後に
msが続く値は、ミリ秒単位の時間を表します。
その他の場合は、解析のために簡略化されたフォーマットが java.time.Duration フォーマットに変換されます。
-
数字の後に
h、m、またはsが続く値には、接頭辞PTが付きます。 -
数字の後に
dが続く値は、接頭辞Pが付きます。
1.4.5.1. リアクティブ DB2 設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
SSL/TLS が有効かどうか。
環境変数: | boolean |
|
| 型 | デフォルト | |
|
SSL/TLS が有効かどうか。
環境変数: | boolean |
|
1.4.5.2. リアクティブ MariaDB/MySQL 固有の設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
接続の charset。
環境変数: | string | |
|
接続の照合。
環境変数: | string | |
|
サーバーへの接続に必要なセキュリティー状態。 MySQL Reference Manual を参照してください。
環境変数: |
|
|
|
SSH 接続タイムアウト (秒単位)
環境変数: | int | |
|
クライアントが使用する必要がある認証プラグイン。デフォルトでは、最初のハンドシェイクパケットでサーバーが指定したプラグイン名が使用されます。
環境変数: |
|
|
|
パイプライン化できる未完了のデータベースコマンドの最大数。デフォルトでは、パイプライン化は無効になっています。
環境変数: | int | |
|
実際に変更された行数ではなく、UPDATE ステートメントの WHERE 句に一致する行の数を返すかどうか。
環境変数: | boolean |
|
| 型 | デフォルト | |
|
接続の charset。
環境変数: | string | |
|
接続の照合。
環境変数: | string | |
|
サーバーへの接続に必要なセキュリティー状態。 MySQL Reference Manual を参照してください。
環境変数: |
|
|
|
SSH 接続タイムアウト (秒単位)
環境変数: | int | |
|
クライアントが使用する必要がある認証プラグイン。デフォルトでは、最初のハンドシェイクパケットでサーバーが指定したプラグイン名が使用されます。
環境変数: |
|
|
|
パイプライン化できる未完了のデータベースコマンドの最大数。デフォルトでは、パイプライン化は無効になっています。
環境変数: | int | |
|
実際に変更された行数ではなく、UPDATE ステートメントの WHERE 句に一致する行の数を返すかどうか。
環境変数: | boolean |
|
1.4.5.3. リアクティブ Microsoft SQL サーバー固有の設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
TDS パケットの必要なサイズ (バイト単位)。
環境変数: | int | |
|
SSL/TLS が有効かどうか。
環境変数: | boolean |
|
| 型 | デフォルト | |
|
TDS パケットの必要なサイズ (バイト単位)。
環境変数: | int | |
|
SSL/TLS が有効かどうか。
環境変数: | boolean |
|
1.4.5.4. リアクティブ Oracle 固有の設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト |
1.4.5.5. リアクティブ PostgreSQL 固有の設定 リンクのコピーリンクがクリップボードにコピーされました!
ビルド時に固定された設定プロパティー: その他の設定プロパティーはすべて実行時にオーバーライド可能
| 型 | デフォルト | |
|
パイプライン化できる未完了のデータベースコマンドの最大数。
環境変数: | int | |
|
クライアントの SSL 動作モード。 Protection Provided in Different Modes を参照してください。
環境変数: |
|
|
| 型 | デフォルト | |
|
パイプライン化できる未完了のデータベースコマンドの最大数。
環境変数: | int | |
|
クライアントの SSL 動作モード。 Protection Provided in Different Modes を参照してください。
環境変数: |
|
|
1.4.6. リアクティブデータソース URL リファレンス リンクのコピーリンクがクリップボードにコピーされました!
1.4.6.1. DB2 リンクのコピーリンクがクリップボードにコピーされました!
db2://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]
- 例
-
db2://dbuser:secretpassword@database.server.com:50000/mydb
現在、クライアントは次のパラメーターキーをサポートしています。
-
host -
port -
user -
password -
database
接続 URL でパラメーターを設定すると、デフォルトのプロパティーがオーバーライドされます。
1.4.6.2. Microsoft SQL サーバー リンクのコピーリンクがクリップボードにコピーされました!
sqlserver://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]
- 例
-
sqlserver://dbuser:secretpassword@database.server.com:1433/mydb
現在、クライアントは次のパラメーターキーをサポートしています。
-
host -
port -
user -
password -
database
接続 URL でパラメーターを設定すると、デフォルトのプロパティーがオーバーライドされます。
1.4.6.3. MySQL / MariaDB リンクのコピーリンクがクリップボードにコピーされました!
mysql://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]
- 例
-
mysql://dbuser:secretpassword@database.server.com:3211/mydb
現在、クライアントは次のパラメーターキーをサポートしています (大文字と小文字は区別されません)。
-
host -
port -
user -
password -
schema -
socket -
useAffectedRows
接続 URL でパラメーターを設定すると、デフォルトのプロパティーがオーバーライドされます。
1.4.6.4. Oracle リンクのコピーリンクがクリップボードにコピーされました!
1.4.6.4.1. EZConnect フォーマット リンクのコピーリンクがクリップボードにコピーされました!
oracle:thin:@[[protocol:]//]host[:port][/service_name][:server_mode][/instance_name][?connection properties]
- 例
-
oracle:thin:@mydbhost1:5521/mydbservice?connect_timeout=10sec
1.4.6.4.2. TNS エイリアスフォーマット リンクのコピーリンクがクリップボードにコピーされました!
oracle:thin:@<alias_name>[?connection properties]
- 例
-
oracle:thin:@prod_db?TNS_ADMIN=/work/tns/
1.4.6.5. PostgreSQL リンクのコピーリンクがクリップボードにコピーされました!
postgresql://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]
- 例
-
postgresql://dbuser:secretpassword@database.server.com:5432/mydb
現在、クライアントは以下をサポートしています。
パラメーターキー:
-
host -
port -
user -
password -
dbname -
sslmode
-
以下のような追加プロパティー:
-
application_name -
fallback_application_name -
search_path -
options
-
接続 URL でパラメーターを設定すると、デフォルトのプロパティーがオーバーライドされます。
