Dev Services for MongoDB
QuarkusはDev Servicesと呼ばれる機能をサポートしており、設定なしで様々なデータソースを作成することができます。MongoDBの場合、このサポートはデフォルトのMongoDB接続にまで及びます。実際どう動くかというと、 quarkus.mongodb.connection-string
を設定していない場合、Quarkusはテストやdev-modeの実行時に自動的にMongoDBコンテナを起動し、接続を自動的に設定します。
MongoDB Dev Servicesは Testcontainers MongoDBモジュール をベースにしており、単一ノードのレプリカセットを起動することができます。
本番環境のアプリケーションを実行する場合、MongoDBの接続は通常通りに設定する必要があります。本番環境のデータベースの設定を application.properties
に含めてDev Servicesを継続して使用する場合は、 %prod.
プロファイルを使用してMongoDBの設定を定義することをお勧めします。
共有サーバー
Most of the time you need to share the server between applications. Dev Services for MongoDB implements a service discovery mechanism for your multiple Quarkus applications running in dev mode to share a single server.
Dev Services for MongoDB starts the container with the quarkus-dev-service-mongodb label which is used to identify the container.
|
If you need multiple (shared) servers, you can configure the quarkus.mongodb.devservices.service-name
attribute and indicate the server name.
It looks for a container with the same value, or starts a new one if none can be found.
The default service name is mongodb
.
Sharing is enabled by default in dev mode, but disabled in test mode.
You can disable the sharing with quarkus.mongodb.devservices.shared=false
.