gpt4 book ai didi

java - TomEE 在不同应用程序之间共享持久性

转载 作者:行者123 更新时间:2023-12-01 04:12:06 27 4
gpt4 key购买 nike

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

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

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

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

这个问题有解决办法吗?

提前谢谢您。

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

最佳答案

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

您需要 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>

关于java - TomEE 在不同应用程序之间共享持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com