为 Apache TomEE 指定应用程序名称

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

他们通过创建 EJB 上下文

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

然后是日志行:

信息 - 已加载企业应用程序“/Users/dblevins/examples/jpa-hibernate”

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

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

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

我完全找到了通过谷歌搜索如何指定该应用程序名称的方法,这样我就可以使用无论谁调用我的代码以及代码被复制到哪里都可以使用的查找。

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


倚天杖
浏览 131回答 1
1回答

犯罪嫌疑人X

此单元测试示例中使用的嵌入式 EJB 容器允许在 Java EE 容器外部运行 EJB。可以在这里找到一个很好的介绍/教程:https ://docs.oracle.com/javaee/7/tutorial/ejb-embedded002.htm它支持与常规 EJB-jars 相同的配置文件,即它支持ejb-jar.xml配置文件(模块部署描述符)。可以在那里配置模块名称,例如<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;version="3.1">&nbsp;&nbsp;&nbsp; &nbsp; <module-name>myapp</module-name>&nbsp;&nbsp;</ejb-jar>&nbsp;&nbsp;该文件需要进入 jarMETA-INF目录。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java