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

时间:2013-03-10 17:20:09

标签: java-ee jboss7.x jndi ejb-3.1

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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

另见: