为了账号安全,请及时绑定邮箱和手机立即绑定

多租户迁移以使用 quarkus

多租户迁移以使用 quarkus

DIEA 2023-06-08 19:51:28
我正在努力迁移应用程序以使用最新版本的quarkus。该应用程序使用来自休眠接口的数据库策略实现多租户。Quarkus 建议(如果可能)避免使用persistence.xml ,在给定quarkus 上下文的情况下,这种多租户情况的正确方法是什么?保留persistence.xml还是仅使用quarkus 推荐的application.properties ?@Singletonpublic class HibernateConnectionProviderFactory implements ConnectionProviderFactory {    private Logger logger = Logger.getLogger(getClass().getName());    private static final String TENANT_ID_PLACEHOLDER = "{tenant.id}";    @Inject    @SystemProperty("multitenant.hibernate.connection.url")    private Optional<String> dbUrl;    @Inject    @SystemProperty("multitenant.hibernate.connection.driver_class")    private Optional<String> dbDriverClass;    @Inject    @SystemProperty("multitenant.hibernate.dialect")    private Optional<String> dbDialect;    @Inject    @SystemProperty("multitenant.hibernate.connection.username")    private Optional<String> dbUsername;    @Inject    @SystemProperty("multitenant.hibernate.connection.password")    private Optional<String> dbPassword;    @Inject    @SystemProperty(value = "multitenant.hibernate.schema.generation", defaultValue = "false")    private boolean generateSchema;    @Inject    @SystemProperty("multitenant.default.tenant.id")    private Optional<String> defaultTenantId;    @Inject    private PersistenceUnitDescriptorFactory persistenceUnitDescriptorFactory;    @Inject    private SchemaGenerator schemaGenerator;    private final ConcurrentHashMap<String, ConnectionProvider> providers = new ConcurrentHashMap<>();    @Override    public Optional<ConnectionProvider> getDefaultConnectionProvider() {        return defaultTenantId.map(this::getConnectionProvider);    }    @Override    public ConnectionProvider getConnectionProvider(String tenantId) {        return providers.computeIfAbsent(tenantId, this::createDriverManagerConnectionProvider);    }
查看完整描述

1 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

现在我们不支持使用 Quarkus application.properties 设置 Hibernate ORM 多租户,因此您应该采用 persistence.xml 方式。

话虽如此,如果有足够的吸引力,我们可能会考虑在未来支持它。您能否在 GitHub 上提出问题,以便我们收集有关此功能的反馈?

谢谢!


查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信