快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
个公开 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 服务了。

步骤 3. 实例化 Java 对象

接下来将实例化叫做 MessagingPreferences 的类,如清单 3 所示,这个类代表 Alice 的消息传递 选项。(请回忆一下第 1 部分中对 消息传递选项 的讨论。)

清单 3. MessagingPreferences 类

public class MessagingPreferences extends    Preferences implements java.io.Serializable {    static final long serialVersionUID = -1240113639782150930L;    //Methods of the MessagingPreferences class }

现在您还可以调用 MessagingPreferences 类的方法来设置 Alice 的选项。

在清单 3 中,MessagingPreferences 类实现了 Serializable 接口(第 1 部分的 “序列化 Java 对象” 一节中介绍过),在继续进行后面的内容之前,我将简要讨论一下叫做 serialVersionUID 的内 容。

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

时间:2011-08-13 IBM Bilal Siddiqui

获得 serialVersionUID

建议让所有可序列化的类都包含类型为 long、名为 serialVersionUID 的私有静态数据成员。不需要 在可序列化类中到处使用这个数据成员。Java 运行库在序列化和反序列化期间使用这个数据成员。

Java 对象序列化规范指定了一个复杂的算法来计算 serialVersionUID 的值。该算法使用了可序列化 的名称、类实现的所有接口的名称、可序列化类的所有数据成员,等等。不需要考虑这个复杂算法的细节 ;Java 平台提供了叫做 serialver 的工具,该工具也可以计算这个值。

要为 MessagingPreferences 对象建立 serialVersionUID,可以从命令行按如下所示方式使用 serialver 工具:

X:\jdk1.5\bin\serialver MessagingPreferences

正如您可以看到的,我在 清单 3 中已经为 MessagingPreferences 类实现了同样的操作。

步骤 4. 在 ApacheDS 中存储 Java 对象

现在已经设置了 DirContext 对象和 MessagingPreferences 对象,可以继续后面的步骤了。剩下的 是用 DirContext 对象在 ApacheDS 中存储 MessagingPreferences。

在 LDAP 服务器中存储数据条目叫做绑定 操作。Context 接口有一个方法叫做 bind(),可以用它在 ApacheDS 中存储 Java 对象。在 清单 1 的步骤 4 中可以看到 bind() 的用法。

设置 Context.bind() 的参数

Context.bind() 方法采用了两个参数。第一个参数 (cn=preferences,uid=alice,ou=users,ou=system)指定存储 Java 对象的命名上下文。这个命名上下 文可以分成两部分:cn=preferences 和 uid=alice,ou=users,ou=system,中间用逗号分隔。

因为新条目表示 Alice 的视图选项,所以可以用 cn=preferences 作为它的 RDN。注意,字符串 uid=alice,ou=users,ou=system 与 Alice 的数据条目的 DN 相同,第一次看到它是在第 1 部分的 “创 建 RDN&r

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号