Java JNDI架构:JNDIAPI,服务提供者,SPI?

Java JNDI架构:JNDIAPI,服务提供者,SPI?,java,jndi,Java,Jndi,我已经阅读了oracle的JNDI在线教程 它有以下图表: 关于这一点,我有以下问题: 1) JNDIAPI——这只是作为J2SE一部分的规范/接口吗?也就是说,当我们调用这个API的某个方法时,这是真正的工作还是它在内部调用第三方提供的其他方法 2) 命名经理-我根本不明白这一点,也没有提供任何解释?这是J2SE的一部分吗?是API吗 3) JNDI SPI-这是什么?JNDIAPI和JNDISPI之间的关系是什么?JNDIAPI是否在内部调用JNDISPI来完成真正的工作?谁提供这些JND

我已经阅读了oracle的JNDI在线教程

它有以下图表:

关于这一点,我有以下问题:

1) JNDIAPI——这只是作为J2SE一部分的规范/接口吗?也就是说,当我们调用这个API的某个方法时,这是真正的工作还是它在内部调用第三方提供的其他方法

2) 命名经理-我根本不明白这一点,也没有提供任何解释?这是J2SE的一部分吗?是API吗

3) JNDI SPI-这是什么?JNDIAPI和JNDISPI之间的关系是什么?JNDIAPI是否在内部调用JNDISPI来完成真正的工作?谁提供这些JNDI SPI

4) 服务提供者的含义是什么

我无法理解这一点,有人能用简单的话帮我理解吗

1) JNDIAPI——这只是作为J2SE一部分的规范/接口吗

也就是说,当我们调用这个API的某个方法时,这真的起作用了吗

没有

或者它在内部呼叫其他人,由第三方提供

2) 命名经理-我根本不明白这一点,也没有提供任何解释?这是J2SE的一部分吗?是API吗

它是一种幕后的粘合剂,通过为JNDI提供者提供大量的样板文件来帮助他们。否则我不知道这是什么意思

3) JNDI SPI-这是什么?JNDIAPI和JNDISPI之间的关系是什么

见下文

JNDIAPI是否在内部调用JNDISPI来完成真正的工作

谁提供这些JNDI SPI

容器,或者在某些情况下是JRE,例如RMI提供程序、LDAP提供程序、DNS提供程序、COSNaming提供程序

4) 服务提供者的含义是什么


提供服务的代码。我不认为这是个谜。实现构成API的接口的代码。

谢谢您的回答。还有一个关于JNDI SPI的问题。如果我想使用openLDAP,那么实现者会为openLDAP提供SPI吗。我已经回答了。LDAP提供程序是JRE的一部分。有时我想知道我为什么要费心。我感谢你们的宝贵意见,我尊重你们为帮助会员所花的时间。您确实提到J2SE有LDAP提供程序。由于不同供应商的LDAP实现数量可能不同,所以我提出这个问题的原因就是这个。与J2SE捆绑在一起的LDAP提供程序是否能够与任何类型的LDAP实现通信?我很抱歉不能完全理解这一点,同时我尊重你的时间和你提供的帮助。最佳RegardsLDAP是一个协议。因此,不需要一个以上的提供者。因此,只有一个提供者。在JRE中。正如我所说。两次。三次了。同样的情况也适用于RMI;域名系统;还有命名。奇怪的是,这就是为什么他们都提供了JRE。