WEB开发网
开发学院软件开发Java 在 Apache 目录服务器中存储 Java 对象,第 2 部分... 阅读

在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(上)

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 从清单 1 中的注释中可以看出,将 Java 对象(即 Alice 的选项)存储到 ApacheDS 中包括 4 个步骤,在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(上)(3),后面几节将详细讨论每个步骤,步骤 1.

从清单 1 中的注释中可以看出,将 Java 对象(即 Alice 的选项)存储到 ApacheDS 中包括 4 个步骤。后面几节将详细讨论每个步骤。

步骤 1. 设置 ApacheDS 的 JNDI 属性

清单 1 中的第一步是将 ApacheDS 的属性文件读入 Properties 对象。这意味着首先必须将 JNDI 属性写入单独的属性文件,如清单 2 所示:

清单 2. ApacheDS.properties 文件

java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory 
java.naming.provider.url=ldap://localhost:389/ou=system 
java.naming.security.authentication=simple 
java.naming.security.principal=uid=admin,ou=system 

之所以需要单独的属性文件,是因为使用客户端 JNDI 实现的应用程序可能独立于特定的 JNDI 实现而工作。指定的 Java 应用程序(例如 StoreAlicePreferences)应当能够操作 ApacheDS 或其他任何目录服务。目录服务甚至不需要使用 LDAP。

考虑一个简单的场景,属性文件的价值就会变得很清楚。假设您已经开发了一个 Java 应用程序,该应用程序使用 LDAP 的客户端 JNDI 实现与 ApacheDS 进行对话。后来,您又购买了另一个不使用 LDAP 协议而使用其他协议的目录服务器。

在这种情况下,需要一个能够操作新目录服务器的新的客户端 JNDI 实现。Java 程序程序将在不需要任何重新编码的情况下继续工作,只需要更新属性文件来反映新目录服务器的属性即可。

虽然在应用程序中对属性进行硬编码不会有什么编程问题,但是这么做会让应用程序依赖那些您已对其进行了硬编码的特定实现。这有点违背使用 JNDI 的目的,它的目的是保持独立于特定的实现。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Apache 目录 服务器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接