JNDI API如何工作

时间:2013-11-26 08:12:46

标签: java jndi

让我们使用JNDI API。我们尝试连接到te目录服务器:

Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.PROVIDER_URL, "ldap://ldap.wiz.com:389");
env.put(Context.SECURITY_PRINCIPAL, "joeuser");
env.put(Context.SECURITY_CREDENTIALS, "joepassword");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");

应用程序执行时如何工作?对于SPI需要什么?据我所知,客户端基于JNDI的应用程序向目录服务器发送了请求,目录服务器使用特定的SPI。此SPI解析来自客户端的请求并进行响应。因此,SPI就像Java EE中的servlet一样工作。我的理解是对的吗?

1 个答案:

答案 0 :(得分:1)

  

应用程序执行时如何工作?

JNDI找到适合您指定的Context.PROVIDER_URL的JNDI SPI:在本例中为LDAP提供程序。

  

对于什么需要SPI?

见上文。

  

据我所知,客户端基于JNDI的应用程序向目录服务器发送了请求

停在那儿。客户端向JNDI发送请求,JNDI将其发送到JNDI SPI,后者将其发送到目录服务器

  

使用特定的SPI。

没有。往上看。目录服务器对JNDI SPI一无所知。

  

此SPI解析来自客户端的请求并作出响应。

没有。目录服务器就是这样做的。

  

因此,SPI就像Java EE中的servlet一样。

没有

  

我的理解是对的吗?

没有