如果我理解正确的话,默认 JNDI 服务在我的本地 AS 上运行,对吧?因此,如果我创建一个 EJB 并在 jboss.xml(运行 JBoss)中将其命名为“sth”,而不是在我的 AS 中注册。对吗?
在大型项目中,EJB 可能分布在许多服务器上 - EJB 在一台服务器上执行某项操作,而在另一台服务器上执行其他操作。当调用 JNDI Loopup() 时,我只搜索一台服务器,对吗?所以这意味着我需要知道EJB在哪里注册...是真的吗?
最佳答案
当您对应用程序进行集群时,您通常会配置集群,以便拥有一个共享 JNDI。在 JBoss 中,您可以使用 HA-JNDI(高可用性 - JNDI)或等效工具来执行此操作。这是具有故障转移功能的集中式服务。原则上,您可以想象拥有复制服务以获得更好的吞吐量,但据我所知,这在 JBoss 中不可用。
简而言之,您将只有一个命名空间,因此您不需要知道它在哪里注册。
关于jboss - JNDI - 它是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2997567/