如何以编程方式查找EJB的JNDI查找名称?

Sam*_*eer 6 jndi java-ee ejb-3.1 jboss7.x

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

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

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

Mil*_*kic 5

首先,我不建议采用这种方法.为什么不修复EJB的JNDI名称?

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

也可以看看: