JBoss Marshalling是一个Java对象序列化包,对JDK默认的序列化框架进行了优化,但又保存跟java.io.Serializable接口兼容,同时增加了一些可调的参数和附加特性,这些参数和特性可通过工厂类进行配置。
Marshallig开发环境准备
从地址:http://jbossmarshalling.jboss.org/downloads ,选择jboss-marshalling-serial-1.3.0.CR9.jar和jboss-marshalling-1.3.0.CR9.jar下载,并把它们加入到项目中。
Netty的Marshalling服务端开发
定义POJO对象,JBoss的Marshalling完全兼容JDK序列化,通过JBoss提供的序列化API,通过订购的实例看看如何使用Netty的Marshalling编解码类对消息进行序列化和反序列化。
代码清单1 Marshalling版本图书订购代码SubReqServer
代码清单2 Marshalling版本图书订购代码SubReqServerHandler
工厂类MarshallingCodeCFactory
代码清单3 Marshalling版本图书订购代码MarshallingCodeCFactory
定义POJO对象
代码清单4 Marshalling版本图书订购代码SubscribeReq
代码清单5 Marshalling版本图书订购代码SubscribeResp
Netty的Marshalling客户端开发
代码清单6 Marshalling版本图书订购代码SubReqClient
代码清单7 Marshalling版本图书订购代码SubReqClientHandler
运行结果
服务端运行结果如下。
图1 服务端运行结果
客户端运行结果如下。
图2 客户端运行结果