gpt4 book ai didi

java - 指定 Apache TomEE 的应用程序名称

转载 作者:行者123 更新时间:2023-12-02 09:53:33 24 4
gpt4 key购买 nike

我需要在独立应用程序中使用 JPA,所以我找到了示例 http://tomee.apache.org/latest/examples/jpa-hibernate.html作为首发。

他们通过创建 EJB 上下文

final Context context = EJBContainer.createEJBContainer(p).getContext();

然后有一个日志行:

INFO - Enterprise application "/Users/dblevins/examples/jpa-hibernate" loaded

您需要知道应用程序名称才能向导出用于查找的搜索字符串:

context.lookup("java:global/jpa-hibernate/Movies");

是什么让我担心我没有找到关于那些“jpa-hibernate”部分来自哪里的信息。它要么来自工件 id,要么更糟糕,来自当前目录名称,这使得使用它的代码非常依赖于开发人员无法控制的上下文。

我完全找到了如何指定该应用程序名称的方法,这样我就可以使用无论谁调用我的代码以及将其复制到哪里都可以工作的查找。

如何配置此应用程序名称?

最佳答案

此单元测试示例中使用的嵌入式 EJB 容器允许在 Java EE 容器外部运行 EJB。可以在这里找到一个很好的介绍/教程:https://docs.oracle.com/javaee/7/tutorial/ejb-embedded002.htm

它支持与常规 EJB-jar 相同的配置文件,即它支持 ejb-jar.xml 配置文件(模块部署描述符)。可以在那里配置模块名称,例如

<ejb-jar 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/ejb-jar_3_1.xsd"
version="3.1">
<module-name>myapp</module-name>
</ejb-jar>

此文件需要进入 jar 的 META-INF 目录。

关于java - 指定 Apache TomEE 的应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56148117/

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