Wildfly 10 hibernate属性在多个应用程序之间共享

时间:2017-08-21 08:47:37

标签: hibernate wildfly

我们有两个独立的应用程序App1和App2部署在wildfly 10服务器上(作为单独的.war文件),并且都使用来自wildfly的'org.hibernate'模块。理想情况下,两个应用程序都应连接到两个单独的数据库。

每个应用程序在各自的类路径中都有自己的hibernate.properties。

问题

要部署的第一个应用程序App1正确配置为使用数据库,但部署时第二个应用程序App2使用第一个应用程序中的hibernate属性,从而连接到App1的数据库。

似乎,wildfly使用找到的第一个hibernate.properties初始化hibernate模块,并将其与服务器上部署的所有其他应用程序一起使用。

关于如何将两个应用程序配置为连接到自己的数据库的任何建议,或者关于hibernate模块加载如何为wildfly中的多个应用程序工作的任何指针都会有所帮助。

1 个答案:

答案 0 :(得分:1)

在Wildfly中你不应该直接使用Hibernate。相反,您应该使用here所述的JPA-API。

这意味着您使用的是注入代码的EntityManager

@PersistenceContext(unitName = "customerPU")
EntityManager em;

unitName的值引用standalone.xml中配置的数据源的名称。如果您没有使用依赖注入,那么您也可以将EntityManager绑定到JNDI条目,如here所述。

因此,您可以在standalone.xml中定义两个不同的数据源,并在两个应用程序中注入两个不同的实体管理器。