快速业务通道

在Apache目录服务器中存储Java对象,第1部分 - 深入Apache目录服务器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
fication version 1.5,这个规范定义了把 Java 对象转换成字节流的过程。根据 Java Object Serialization 规范,序列化 Java 对象的过程已经在 JRE 中以序列化运行时的形式实现了,序列化运 行时处理 Java 对象的序列化和反序列化。

定 制序列化

如果应用程序的架构不允许数据成员被序列化(例如,某个数据成员属于现有的 非序列化类),那就需要在想要序列化的 Java 类中实现自己的定制序列化和反序列化逻辑。

序列化运行时包含两个方法:writeObject() 和 readObject()。序列化运行时根据 Java Object Serialization 规范,用它们序列化和反序列化 Java 对象。想要序列化的 Java 对象只需要实现叫做 java.io.Serializable 的接口。Serializable 接口不 包含任何方法。它的作用只是告诉序列化运行时这个对象是可以序列化的。

请注意序列化运行时 会在序列化过程中把 Java 对象的数据成员序列化。如果某些数据成员本身还是另外的 Java 对象,那么 需要与想要序列化的主对象一起序列化这个成员。所以,这类数据成员也应当实现 Serializable 接口。

在本系列的第 2 部分,我将演示如何用 Java 中默认的序列化支持来在 ApacheDS 中保存 Java 对象。

在Apache目录服务器中存储Java对象,第1部分 - 深入Apache目录服务器(14)

时间:2011-08-13 IBM Bilal Siddiqui

RMI

除了序列化对象,可能想在通过网络发送字节表示之前,在它上面应用一些特 定的编码方案。这个编码过程叫做编组(marshalling),它是 Java RMI 规范的重要元素。RMI 框架允 许 Java 应用程序使用远程对象。远程对象位于 Java 应用程序的范围之外,例如 Internet 上。

使用 RMI,可以像调用本地对象的方法一样调用远程对象的方法。要做到这点,需要一个远程对 象的存根类。存根类包含远程对象的方法签名。应用程序实例化存根类并在本地调用它的方法。然后 RMI 框架管理与远程对象的通信,形成对所需方法的远程调用。结果是,应用程序不需要了解对象实际上是在 本地还是远程。

对这个讨论有意义的内容是(您可能猜得到) RMI 框架允许 Java 对象在网络上传递,调用远程对象 的方法。所以,RMI 需要序列化 Java 对象。RMI 规范指定编组算法,并把算法应用到 Java 对象的序列 化形式上。算法会在序列化的对象上插入特殊标志。

RMI 规范在 J2SE 中已经实现,所以不需要 担心对象编组的低层细节。只要使用 RMI 类编组 Java 对象即可。LDAP 允许把编组的 Java 对象保存在 LDAP 目录。在本系列的第 2 部分,我将演示如何编组 Java 对象和取消编组,以及如何在 ApacheDS 中 保存和检索它们。

把 Java 对象保存在 ApacheDS

在本系列的第 2 部分中,我要介绍一个 简单的应用程序,这个程序包含目前学到的所有概念。我将介绍如何表示序列化的 Java 对象,如何使用 不同的对象类,如何表示编组的 Java 对象,如何把 Java 对象引用保存在 ApacheDS 中。在 第 2 部分 中,我将在这些简单练习上再进一步。但是现在,只需把注意力放在包含的基本步骤上。

开始时 ,需要一套要处理的对象类。RFC 2713定义了在 LDAP 目录中表示 Java 对象的对象类和属性类型。 ApacheDS 对这些属性类型和对象类提供了完整支持。在这个练习和第 2 部分的练习中,我使用了四个对 象类:javaContainer、javaObject、javaSerializedObject 和 javaNamingReference。现在来看前两个 对象类和它们的属性。

javaContainer(如图 19 所示)是个构造性类,只包含一个属性: cn。 这个对象类的目的是命名包含 Java 对象的数据条目。LDAP 允许使用另一个结构性对象类给 Java 对象 命名。例如,也可以用 person 对象类保存 Java 对象。

图 19. javaContainer 类

javaObject 是个抽象类。这个对象类的

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