我在我的应用程序中使用EJB 3.1。
我想在我的应用程序中将一个EJB的JNDI查找名称发送到另一个应用程序,以便它可以在运行时使用它。与我的EJB沟通。由于查找名称取决于EJB容器上部署的ear文件的名称。每次在我的应用程序中进行任何更改时,这些ear文件的名称都将更改。
以编程方式查找任何EJB的查找名称的过程是什么。
答案 0 :(得分:5)
首先,我不建议采用这种方法。为什么不修复EJB的JNDI名称?
也就是说,您可以调用方法InitialContext#list
来遍历JNDI树并找出EJB的名称。有一个很好的代码示例here,所以我不再重复了。一个重要的注意事项 - 调用ctx.list("")
只会给你第一级JNDI树,所以你必须递归调用该方法才能获得EJB名称。提示:EJB通常部署在分支 ejb 。
另见: