在 Apache 目录服务器中存储 Java 对象,第 2 部分:在 ApacheDS 中存储、搜索和检索 Java 对象(上)
2010-04-19 00:00:00 来源:WEB开发网接下来,实例化叫做 InitialDirContext 的类。这个类是 JNDI 的一部分,该类用于公开叫做 DirContext 的接口。InitialDirContext 的构造函数接受上面讨论的 Properties 对象。
InitialDirContext 对象能够执行您想在 ApacheDS 上执行的所有目录操作,包括存储新对象、搜索已经存储的对象、向现有对象添加属性,等等。
DirContext 接口
DirContext 接口扩展了 Context 接口。Context 接口表示命名上下文,DirContext 接口则提供与添加、删除和管理命名上下文有关的属性的功能。
简言之,Context 接口提供命名功能,DirContext 接口扩展命名功能,添加对属性的支持。命名和属性功能共同构成了目录服务。
您可能会说 InitialDirContext 对象是由工厂对象实例化的 DirContext 对象的包装器。在这个示例中,InitialDirContext 的构造函数使用了 清单 2 的第一个属性指定的上下文工厂对象(即 com.sun.jndi.ldap.LdapCtxFactory)。工厂对象实例化了一个公开 DirContext 对象的对象,而 InitialDirContext 对象则使用这个 DirContext 对象执行客户机应用程序要求的目录操作。
使用 ApacheDS 的优势
ApacheDS 目录服务的主要优势在于:让客户机应用程序独立于任何特定实现。客户机应用程序在配置文件中指定工厂方法,InitialDirContext 对象用工厂方法实例化了 DirContext 对象,该对象包含处理远程目录服务通信所需的所有逻辑。
例如,清单 1 使用了来自 Sun Microsystem 的 com.sun.jndi.ldap.LdapCtxFactory 工厂对象。这个工厂对象创建的 DirContext 对象能够制定 ApacheDS 可以理解的 LDAP 请求。
如果以后想使用一些非 LDAP 服务运行 StoreAlicePreferences 应用程序(来自 清单 1),那么只需根据非 LDAP 服务的业务逻辑,用新的工厂对象交换 清单 2 中的工厂对象的名称即可。然后 StoreAlicePreferences 就可以开始使用非 LDAP 服务了。
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››服务器群集:Windows 2000 和 Windows Server 200...
- ››服务器维护经验谈 图解DHCP故障排除
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››Apache HTTPServer2.2.16 发布
- ››Apache Tomcat 6.0.29 (稳定版)
- ››Apache HTTP Server 2.3.6 alpha 发布
- ››Apache+Subversion如何实现版本控制
- ››Apache+Subversion完美结合
更多精彩
赞助商链接