java对JNDI感到困惑
我一直在读一篇关于JNDI的文章,但是我很困惑
因此,简单地说:
- JNDI就像一个对象容器,每个条目都是一个字符串名称-对象对李>
- 这些对是否存储在JVM中?例如,在同一台本地计算机上,App#1使用名称
"testDS"
注册一个数据源对象,一段时间后,App#2可以使用键"testDS"
获取该数据源对象?但是从哪里来?在JVM中李>
你可以在下面搜索框中键入要查询的问题!
我一直在读一篇关于JNDI的文章,但是我很困惑
因此,简单地说:
"testDS"
注册一个数据源对象,一段时间后,App#2可以使用键"testDS"
获取该数据源对象?但是从哪里来?在JVM中李>
# 1 楼答案
你错过了一些关于JNDI的东西。JNDI是一种应用程序编程接口(API)。它是一组类,为用Java编程语言编写的应用程序提供命名和目录功能
因此,由于这些类在JVM中运行,因此我们可以说,通过使用JVM,应用程序使用JNDI来执行其任务
# 2 楼答案
你需要后退一步。除了Java和JNDI之外,还有“目录和命名服务”。这些东西就像LDAP、DNS或您的计算机文件系统(想想路径和文件名),允许您通过名称和目录访问结构化的东西
JNDI是一个JavaAPI,它允许您使用其中的一个,并且无论您使用哪一个接口,接口应该大体相同
通过JNDI访问的对象是使用目录和命名服务存储的,而不是直接使用JVM
因此,如果有两个JVM使用JNDI访问相同的目录和命名服务,并且配置相同,那么它们应该访问相同的对象。如果他们正在访问不同的服务,那么无论是同一个JVM,他们都将无法访问相同的对象
# 3 楼答案
当您试图访问d:/users/name/text下的文件时,请考虑这一点。您只需键入其名称,即可访问其内容。JNDI在同一个概念下工作,您可以使用JNDI这个名称来处理您想要的内容