我有一个使用JSF + CDI + JPA和Wildfly服务器的Web应用程序。直到这一刻Wildfly正在管理交易,身份验证安全,电子邮件服务......所以我的问题是我需要我的系统访问多个数据库。为了让客户端登录,他输入了他们的登录名和密码,并选择了数据库。
我已经谷歌搜索了很多,解决方案作为多租户似乎并不是很有趣。我还想过承担服务器的这个责任,在应用程序中建立连接,并且仍然经常使用注入,但是我遇到了很多麻烦,比如安全管理和Wildfly之前管理的所有事情。
有关如何解决此问题的一些提示或想法?
答案 0 :(得分:0)
以DATABASE
模式查看Hibernate multitenancy。这在WildFly 10中非常有效。
基本上,您只需要实现一个MultiTenantConnectionProvider
,它为当前请求提供与相应数据库的连接。
这应该可以解决您在数据库级别的问题。您仍然需要弄清楚如何为当前请求确定正确的数据库,例如从当前HTTP请求的URI派生它并将其存储在@RequestScoped
bean中。