6

我在我的应用程序中使用 EJB 3.1。

我想将我的应用程序中的一个 EJB 的 JNDI 查找名称发送到另一个应用程序,以便它可以在运行时使用它并与我的 EJB 通信。由于查找名称取决于部署在 EJB 容器上的 ear 文件的名称,并且每次在我的应用程序中进行任何更改时,这些 ear 文件的名称都会发生变化。

以编程方式查找任何 EJB 的查找名称的过程是什么。

4

1 回答 1

6

首先,我不会推荐这种方法。为什么不修复 EJB 的 JNDI 名称?

也就是说,您可以调用一个方法InitialContext#list来遍历 JNDI 树并找出您的 EJB 的名称。这里有一个很好的代码示例,所以我不会重复它。一个重要的注意事项 - 调用ctx.list("")只会为您提供第一级 JNDI 树,因此您必须递归调用该方法才能获得 EJB 名称。提示:EJB 通常部署在分支ejb下。

也可以看看:

于 2013-03-11T11:34:11.147 回答