gpt4 book ai didi

java - 了解 JNDI 和 ENC 体系结构

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:59 26 4
gpt4 key购买 nike

我正在尝试学习 Java EE 并且我已经阅读了一段时间有关 JNDI 的内容,但是除了互联网上的一些基本示例以及从一个地方复制到另一个地方的相同定义之外,我发现很少有信息可以真正解释建筑学。我需要知道我的理解是否正确,然后我有一些问题:

我的理解:

JNDI

  • JNDI 是一种 API,它使用服务提供者来实现。
  • JNDI 有多种实现:LDAP、文件系统、DNS 等。此外,市场上的每个应用程序服务器都有自己的实现。比如JBoss自带JBossNS
  • 应用服务器使用的实现是在属性文件中配置的。我假设每个服务器默认使用它自己的 JNDI 实现。

JNDI 编码器

  • ENC 是前面提到的用于访问本地名称的 JNDI 的包装器
  • ENC 使用注释和/或 xml 文件配置
  • 然后注入(inject)机制使用ENC来定位资源并注入(inject)

我的问题:

  1. 如果我有多个应用程序服务器,并且我使用应用程序服务器 JNDI 实现(例如 JBossNS),我是否将所有其他服务器配置为对该特定服务器使用该 JNDI 实现?我主要对企业架构以及如何在服务器之间找到 EJB 感兴趣。

  2. 如何配置 ENC 以注入(inject)在另一个应用程序服务器(不同的虚拟机)中找到的远程对象。我是否使用“ejb-link”并使用全局命名空间来访问远程 bean?

与答案相关,示例会很好,最终链接 JNDI 体系结构的位置以及查找的完成方式会有所帮助。

谢谢

最佳答案

我会尝试回答我自己的问题,也许对某人有用。

首先,关于JNDI,我的理解是正确的。我找到了一个非常好的链接(我不确定 Java EE 版本),但是这个链接详细解释了 JNDI 的工作原理:

http://ejbvn.wordpress.com/category/week-1-enterprise-java-architecture/day-04-using-jndi-for-naming-services-and-components/

第二个问题与ENC有关。我部分正确,但是 ENC 是 JNDI 世界中的上下文(如 JNDI 的上下文定义中所定义)。此上下文主要用作别名,以便无论容器是什么都能引用您的容器/模块/应用程序 EJB。因此,无论何时您从 ENC 引用某些内容,您都会被重定向到适当的资源,该资源可以驻留在另一个模块/应用程序/应用程序服务器中。另一个对我有用的链接是下面的链接。它包含几个链接,所以请确保您阅读了所有链接:

http://www.javacodegeeks.com/2011/08/ejb-programmatic-lookup.html

问候

关于java - 了解 JNDI 和 ENC 体系结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com