JNDI - 它是如何工作的
如果我理解正确的话,默认 JNDI 服务在我的本地 AS 上运行,对吧?因此,如果我创建一个 EJB 并在 jboss.xml(运行 JBoss)中将其命名为“sth”,而不是在我的 AS 中注册。正确的?
在大型项目中,EJB 可能分布在许多服务器上 - EJB 在一台服务器上执行某项操作,而在另一台服务器上执行其他操作。当调用 JNDI Loopup() 时,我只搜索一台服务器,对吧?所以这意味着我需要知道EJB在哪里注册...是真的吗?
If I understand correctly the default JNDI service runs on my local AS, right? So if I create an EJB and in jboss.xml (running JBoss) I name it "sth" than it is registered in my AS. Correct?
In big projects EJBs might be distributed through many servers - on one server EJBs doing sth and on another sth else. When calling JNDI loopup() I search only one server, right? So it means that I need to know where the EJB is registered... Is it true?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您对应用程序进行集群时,您通常会配置集群,以便拥有一个共享 JNDI。在 JBoss 中,您可以使用 HA-JNDI(高可用性 - JNDI)或等效工具来执行此操作。这是具有故障转移功能的集中式服务。原则上,您可以想象拥有复制服务以获得更好的吞吐量,但据我所知,这在 JBoss 中不可用。
简而言之,您将只有一个命名空间,因此您不需要知道它在哪里注册。
When you cluster your app you will usually configure the cluster so that you have one shared JNDI. In JBoss you do this using HA-JNDI (High Availability - JNDI) or equivalent. This is a centralized service with fail-over. In principle you could imagine having a replicated service for better throughput, but to my knowledge that is not available in JBoss.
In short, you will have only one namespace, so you don't need to know where it is registered.