【问题标题】:Wildfly 10 hibernate properties being shared among multiple applicationsWildfly 10 hibernate 属性在多个应用程序之间共享
【发布时间】:2018-01-29 06:37:11
【问题描述】:

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

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

问题

要部署的第一个应用程序 App1 已正确配置为使用数据库,但第二个应用程序 App2 在部署时使用第一个应用程序的休眠属性,因此连接到 App1 的数据库。

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

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

【问题讨论】:

    标签: hibernate wildfly


    【解决方案1】:

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

    这意味着您正在使用注入到您的代码中的EntityManager

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

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

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

    【讨论】:

    • 感谢 siom 的提示。让我试试看。
    猜你喜欢
    • 2021-06-22
    • 1970-01-01
    • 2017-06-15
    • 2018-01-01
    • 2014-06-04
    • 1970-01-01
    • 2017-04-12
    • 2018-05-22
    • 2019-10-12
    相关资源
    最近更新 更多