【问题标题】:JSF + Wildfly connect in many databases dynamicallyJSF + Wildfly 动态连接多个数据库
【发布时间】:2016-09-21 13:38:44
【问题描述】:

我有一个使用 JSF + CDI + JPA 和 Wildfly 服务器的 Web 应用程序。直到此刻,Wildfly 正在管理交易、身份验证安全、电子邮件服务......所以我的问题是我需要我的系统来访问多个数据库。为了让客户登录,他输入了他们的登录名和密码,并选择了数据库。

我已经在 Google 上搜索了很多,但多租户的解决方案似乎不是很有趣。我也想过承担服务器的这个责任,在应用程序中建立连接并仍然设法使用注入,但是我有很多麻烦,比如安全管理和 Wildfly 之前管理的所有事情。

关于如何解决这个问题的一些提示或想法?

【问题讨论】:

  • JTA 事务可以跨越多个资源(因此,数据库)。
  • 我正在使用 JTA 事务,但如果不为每个数据库创建持久性单元,我无法弄清楚如何做到这一点。在我的例子中,每个客户组织都会有一个数据库。而且我不想每次有新客户端时都生成一个 .war 文件...(所有数据库都是相同的结构)

标签: jboss wildfly multi-tenant


【解决方案1】:

使用DATABASE 模式查看Hibernate multitenancy。这在 WildFly 10 中非常有效。

基本上,您只需要实现一个MultiTenantConnectionProvider,它为当前请求提供到适当数据库的连接。

这应该可以解决您在数据库级别的问题。您仍然需要弄清楚如何为当前请求确定正确的数据库,例如从当前 HTTP 请求的 URI 派生它并将其存储在 @RequestScoped bean 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2016-08-21
    • 1970-01-01
    • 2015-04-26
    相关资源
    最近更新 更多