JNDI架构:JNDI API,服务提供商,SPI?

时间:2017-04-27 07:25:01

标签: java jndi

我已经使用此link从oracle阅读了JNDI在线教程。

它有以下图表:

enter image description here

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

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

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

3)JNDI SPI - 这是什么? JNDI API和JNDI SPI之间有什么关系? JNDI API是否在内部调用JNDI SPI来完成实际工作?谁提供这些JNDI SPI?

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

我无法理解这一点,任何人都可以用简单的语言帮助我理解吗?

1 个答案:

答案 0 :(得分:1)

  

1)JNDI API - 这只是一个规范/接口,它是J2SE的一部分吗?

  

也就是说,当我们调用此API的某个方法时,这是否可以完成实际工作

没有

  

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

  

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

它是一些幕后粘合剂,通过为它们做很多样板来帮助JNDI提供商。或者我不知道这意味着什么。

  

3)JNDI SPI - 这是什么? JNDI API和JNDI SPI之间有什么关系?

见下文。

  

JNDI API是否在内部调用JNDI SPI来进行实际工作?

  

谁提供这些JNDI SPI?

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

  

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

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