【问题标题】:TomEE Share Persistence among different applicationsTomEE 在不同应用程序之间共享持久性
【发布时间】:2013-11-06 19:16:07
【问题描述】:

假设我有一个带有 persistence.xml 配置和 jpa 实体的 jar。 我希望在不同的应用程序之间共享相同的持久性单元。

例如部署一个战争应用程序并注入相同的持久性单元(其他应用程序使用)。

@PersistenceContext(unitName="MySharedPersistence")
private EntityManager entityManager;    

我不能考虑将所有应用程序打包到一个 ear 文件中,因为我希望在重新上传应用程序时启动并运行其他应用程序(重新上传的应用程序使用来自已部署应用程序的一些远程 ejb,并使用相同的持久性如上所述)。

有解决这个问题的办法吗?

提前谢谢你。

编辑:可能不推荐是否有任何适当的试验具有相同的结果?

【问题讨论】:

  • 我认为你应该阅读EJBJMS

标签: java jpa jakarta-ee apache-tomee openejb


【解决方案1】:

您可以将您的实体类和persistence.xml 放在一个 jar 中,并在所有项目中重复使用此 jar。只要您还包含beans.xml 文件以及persistence.xml,它就可以正常工作。然后,您应该能够在使用此 jar 文件的任何项目中注入持久性上下文。

您需要 beans.xml 文件以供容器自动发现。作为参考,下面是 beans.xml 文件的外观:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
      http://java.sun.com/xml/ns/javaee 
      http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>

【讨论】:

    猜你喜欢
    • 2014-11-06
    • 1970-01-01
    • 2021-05-17
    • 2017-12-07
    • 2018-02-07
    • 2011-08-24
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    相关资源
    最近更新 更多