JNDI、名称服务和本地文件系统

JNDI, name service and local files system

我正在尝试通过编写一些示例,通过在网上搜索来消除我对 JNDI 的疑虑。我遇到了以下 link(来自 oracle 的关于此主题的教程)

http://docs.oracle.com/javase/jndi/tutorial/getStarted/examples/naming.html

在这个link中,它说:

"This example shows you how to write a program that looks up an object whose name is passed in as a command-line argument. It uses a service provider for the file system."

根据我的理解,JNDI 标准化了我们如何 access/lookup 命名和目录服务对象,类似如下:

Java 应用程序 ---"uses JNDI API" --> 访问 directory/naming 服务的对象。

现在,在示例中,它表示 "look up of object in file system"。那么文件系统是 "naming service" 吗?

这些 "services" 是可以通过 SPI 访问的 program/software 吗? SPI在这里扮演什么角色?

我可能不正确,SPI 是 "JNDI API" 的实现吗? (比如 JDBC 驱动程序实现 JDBC API 的)。

虽然我已经上网了,但我还是很困惑material。

非常感谢任何帮助。

So is file system a "naming service" ?

文件系统提供程序是一个 JNDI SPI,它使用文件系统而不是真正的命名服务。这是一个玩具,不适合严肃使用。只是一个概念证明。

Are these "services" a program/software which is accessible via SPI?

通常。例如,COS 命名、LDAP、RMI 注册表。

what role does SPI play here?

它是特定命名服务的 JNDI 实现。

I might be incorrect, are SPI's implementation of "JNDI API"? (like JDBC drivers implement JDBC API's).

有点像,是的。