快速业务通道

在Apache目录服务器中存储Java对象,第2部分:(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

在Apache目录服务器中存储Java对象,第2部分:(上)

时间:2011-08-13 IBM Bilal Siddiqui

在 ApacheDS 中存储、搜索和检索 Java 对象

简介:在第 2 部分中将介绍如何在 Apache 目录服务器 (ApacheDS) 中存储 Java™ 对象, Bilal Siddiqui 将提供 9 个示例应用程序,演示在 第 1 部分 中学习的概念。除 了介绍使用 ApacheDS 存储、搜索、检索和修改 Java 对象的所有步骤之外,Bilal 还将在总结全文时提 供一个可重用的 Java 类,该类可以使用 LDAP 模式组件在 ApacheDS 中将这些功能组合在一起。

在 第 1 部分 中,我介绍了在 ApacheDS 中存储 Java 对象的概念方面的基础,解释了 ApacheDS 的 核心架构,并讨论了它实现目录服务和可插入协议支持的方式。我还介绍了一些 LDAP 概念和术语,解释 了 ApacheDS 如何实现 LDAP 协议,并介绍了用来在 ApacheDS 中存储和操纵对象的各种组件。最后,讨 论了 Java 对象和 RMI 的基础,要想在 ApacheDS 中存储和检索 Java 对象,就必须理解它们。我还引 入了一个示例应用程序 —— 一个面向制造企业的数据管理系统,并用它演示文中讨论的一些概念。

在本系列的第 2 部分,我几乎完全依靠示例(总共有 9 个示例)。这些示例基于第 1 部分介绍的数 据管理系统,它们的作用是让您了解如何在 ApacheDS 中存储、搜索、检查和更新 Java 对象。

如果还没有下载和安装 ApacheDS,那么一定要在开始之前 下载和安装 ApacheDS 和 JXplorer。可以 下载 文章的完整源代码。

注意!

请注意,要跟上本文中的示例,必须理解基本的 LDAP 术语和概念,例如专有名称 (DN)、相对专有名 称 (RDN)、命名上下文、对象类和属性类型。如果还不熟悉这些术语,请在继续之前阅读 第 1 部分。

应用程序 1. 存储 Java 对象

我先从几个应用程序开始,演示如何在 ApacheDS 中存储 Java 对象。出于这个目的,需要使用 Java 命名和目录接口 (JNDI),它提供了操作目录中的对象和属性的接口和方法。请参阅 在 Apache 目录服务 器中存储 Java 对象,第 1 部分,获得 ApacheDS 如何使用 JNDI 接口公开目录服务的讨论。

JNDI 不是特定于 LDAP 的接口,因此可以拥有针对任何目录服务类型的 JNDI 实现。如果想实现自己 的目录服务并用 JNDI 公开它的功能,则需要为目录服务实现 JNDI 接口。注意,Java 2 标准版 (J2SE) 提供了 LDAP 的客户端 JNDI 实现,可以用它与 ApacheDS 对话。在我的讨论中,我将使用这个客户端实 现。

清单 1 是一个名为 StoreAlicePreferences 的简单应用程序。我将用这个应用程序介绍如何将用户 Alice 的选项作为 Java 对象存储到 ApacheDS 中。

清单 1. StoreAlicePreferences

public class StoreAlicePreferences {    public StoreAlicePreferences ()    {      try {        //------------------------------------------        //Step1: Setting up JNDI properties for ApacheDS        //------------------------------------------        InputStream inputStream = new FileInputStream ( "ApacheDS.properties");        Properties properties = new Properties();        properties.load(inputStream);        properties.setProperty("java.naming.security.credentials",  "secret");        //------------------------------------------        //Step2: Fetching a DirContext object        //------------------------------------------        DirContext ctx = new InitialDirContext(properties);

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号