我有两个环境,比如onprem和awsonprem我们已经连接了Oracle数据库和所需的配置已经完成,但对于aws,我们正在使用aurora-postgres,无论何时我尝试添加postgres依赖项,然后部署到aws环境它给出了错误,所以如果我们有同一pom文件中的多个依赖项,用于不同的环境。
Quarks version : 1.13.3.final
Sample configuration:
Oracle:
-------
quarkus.datasource.db-kind=oracle
quarkus.datasource.username=user-default
quarkus.datasource.password=password-default
quarkus.datasource.reactive.url=jdbc:oracle:thin://localhost:5432/default
Postgresql:
-----------
quarkus.datasource.db-kind=postgresql
quarkus.datasource.username=user-default
quarkus.datasource.password=password-default
quarkus.datasource.reactive.url=postgresql://localhost:5432/default
代码或问题:我得到的问题如下:
2021-11-11 07:18:45,173 WARN [org.hib.eng.jdb.env.int.JdbcEnvironmentInitiator] (main) HHH000342: Could not obtain connection to query metadata: java.sql.SQLException: Driver does not support the provided URL: jdbc:postgresql://
at io.agroal.pool.ConnectionFactory.connectionSetup(ConnectionFactory.java:220)
at io.agroal.pool.ConnectionFactory.createConnection(ConnectionFactory.java:204)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:490)
at io.agroal.pool.ConnectionPool$CreateConnectionTask.call(ConnectionPool.java:472)
Dependencies:
quarkus-jdbc-oracle
quarkus-jdbc-postgresql
根据官方文档,您可以使用多个数据源。但是,如果您的超过1个,则必须提供名称。否则Quarkus将如何知道要使用哪些驱动程序。
格式:quarkus.datasource.<datasourceCustomName>.
如果它不是不需要名称的默认DataSource。
注意事项:For now, multiple datasources are only supported for JDBC and the Agroal extension. So it is not currently possible to create multiple reactive datasources.
https://quarkus.io/guides/datasource#multiple-数据源
多个数据源
配置多个数据源
目前,只有JDBC和农业推广。因此,目前不可能创建多个被动数据源。
Hibernate ORM扩展支持定义几个持久性使用配置属性的单元。对于每个持久性单元可以指向您选择的数据源。
定义多个数据源与定义单个数据源,有一个重要的更改:定义一个名称。
在以下示例中,您有3个不同的数据源:
- 默认值
- 一个名为users的数据源
- 一个名为inventory的数据源
每个都有自己的配置。
quarkus.datasource.db-kind=h2
quarkus.datasource.username=username-default
quarkus.datasource.jdbc.url=jdbc:h2:mem:default
quarkus.datasource.jdbc.max-size=13
quarkus.datasource.users.db-kind=h2
quarkus.datasource.users.username=username1
quarkus.datasource.users.jdbc.url=jdbc:h2:mem:users
quarkus.datasource.users.jdbc.max-size=11
quarkus.datasource.inventory.db-kind=h2
quarkus.datasource.inventory.username=username2
quarkus.datasource.inventory.jdbc.url=jdbc:h2:mem:inventory
quarkus.datasource.inventory.jdbc.max-size=12
quarkus.datasource.db-kind
在构建时是固定的。该属性在运行时无法更改。
你必须为Oracle构建应用程序,并为Postgresql单独构建
https://quarkus.io/guides/all-config#quarkus-数据源_quarkus.datasource.db-类