The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.
このページを編集

MongoDBのDev Services

QuarkusはDev Servicesという機能をサポートしており、設定なしでさまざまなデータソースを作成できます。MongoDBの場合、このサポートはデフォルトのMongoDB接続にまで及びます。 つまり、 quarkus.mongodb.connection-stringquarkus.mongodb.hosts を設定していない場合、Quarkus はテストの実行中や開発モードのときに自動的に MongoDB コンテナを起動し、自動的に接続を設定します。

MongoDB Dev Servicesは Testcontainers MongoDBモジュール をベースにしており、単一ノードのレプリカセットを起動することができます。

本番環境のアプリケーションを実行する場合、MongoDBの接続は通常通りに設定する必要があります。本番環境のデータベースの設定を application.properties に含めてDev Servicesを継続して使用する場合は、 %prod. プロファイルを使用してMongoDBの設定を定義することをお勧めします。

共有サーバー

ほとんどの場合、アプリケーション間でサーバーを共有する必要があります。 Dev Services for MongoDBは、 dev モードで実行されている複数のQuarkusアプリケーションが1つのサーバーを共有できるように、 サービス検出 メカニズムを実装しています。

Dev Services for MongoDB はコンテナを識別するための quarkus-dev-service-mongodb ラベルでコンテナを起動します。

複数の(共有)サーバーが必要な場合は、 quarkus.mongodb.devservices.service-name 属性を設定し、サーバー名を指定します。 同じ値を持つコンテナを探すか、見つからない場合は新しいコンテナを起動します。デフォルトのサービス名は mongodb です。

共有はdevモードではデフォルトで有効ですが、testモードでは無効になります。共有は quarkus.mongodb.devservices.shared=false で無効にできます。

設定リファレンス