Dev Services for MongoDB
Quarkus 支持一项称为 Dev Services 的功能,该功能允许您无需任何配置创建各种数据源。对于 MongoDB,此支持扩展到默认 MongoDB 连接。这在实践中意味着,如果您尚未配置 quarkus.mongodb.connection-string
,Quarkus 将在运行测试或处于开发模式时自动启动 MongoDB 容器,并自动配置连接。
MongoDB Dev Services 基于 Testcontainers MongoDB module,它将启动一个单节点副本集。
在运行应用程序的生产版本时,需要像往常一样配置 MongoDB 连接,因此如果您想在 application.properties
中包含生产数据库配置并继续使用 Dev Services,我们建议您使用 %prod.
配置文件来定义 MongoDB 设置。
Shared server
大多数时候,您需要在应用程序之间共享服务器。MongoDB 的 Dev Services 为以 dev 模式运行的多个 Quarkus 应用程序实现了一个 service discovery 机制,以共享单个服务器。
MongoDB Dev Services 会启动带有 |
如果您需要多个(共享的)服务器,可以配置 quarkus.mongodb.devservices.service-name
属性并指明服务器名称。它会查找带有相同值的容器,或者在找不到容器时启动一个新容器。默认服务名称为 mongodb
。
共享在开发模式中默认启用,但在测试模式中禁用。您可以使用 quarkus.mongodb.devservices.shared=false
禁用共享。