我有一个具有2个数据源的项目,一个主数据源和一个备用数据源。我已经将这些添加到了applications.properties中,并且我正在使用数据库多租户方法。我有一个更改活动租户的自定义TenantResolver实现,并且我定义的唯一实体都在外部模块中。
问题很简单:保存到我的两个数据源都很好,但是为了启动应用程序,我必须包括一个虚拟数据源:
quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=dummy在属性文件中。否则,我会得到错误:默认数据源未配置,但持久性单元'‘使用它。我使用的实际数据源的定义如下:
quarkus.datasource.primary.jdbc.url=jdbc:postgresql://...
quarkus.datasource.secondary.jdbc.url=jdbc:postgresql://...保存到它们上就很好了。
所以问题是:我应该如何配置我的应用程序,使我不必包含这个虚拟数据源来避免持久化单元错误?
下面是整个属性文件:
# Enable DATABASE approach
quarkus.hibernate-orm.multitenant=DATABASE
quarkus.datasource.db-kind=h2
quarkus.datasource.jdbc.url=dummy
# Primary tenant
quarkus.datasource.primary.db-kind=postgresql
quarkus.datasource.primary.username=reportinguser
quarkus.datasource.primary.password=pw123
quarkus.datasource.primary.jdbc.url=jdbc:postgresql://localhost:5432/reportingdb1
# Secondary tenant
quarkus.datasource.secondary.db-kind=postgresql
quarkus.datasource.secondary.username=reportinguser2
quarkus.datasource.secondary.password=password
quarkus.datasource.secondary.jdbc.url=jdbc:postgresql://localhost:5432/reportingdb1发布于 2021-04-02 01:45:51
我也有和你一样的问题。您可以添加以下行以指定默认数据源quarkus.hibernate-orm.datasource=primary
https://stackoverflow.com/questions/65238757
复制相似问题