跳到主要内容

六、Netty 教程 – 序列化-JDK自带

作者:唐亚峰 | 出自:唐亚峰博客

> 在做JAVA开发的时候,接触最多的就是java.io.Serializable,通过该接口生成序列化ID,然后就可以通过java.io.ObjectInputjava.io.ObjectOutput进行序列化与反序列化,无需考虑跨语言调用,对序列化性能要求不高的情况,使用默认的是最方便的,虽然存在弊端,但也能满足大部分的需要….

为了更好的掌握Netty序列化相关知识,本章使用Netty给我们提供的ObjectEncoderObjectDecoder对订单请求与应答消息进行序列化操作…

开发例程

  • 在服务端ChannelPipeline新增解码器io.netty.handler.codec.serialization.ObjectDecoder
  • 在服务端ChannelPipeline新增解码器io.netty.handler.codec.serialization.ObjectEncoder
  • 实体类实现java.io.Serializable序列化接口

1、 创建OrderRequestOrderResponse两个Java类;

public class OrderRequest implements java.io.Serializable {
private static final long serialVersionUID = 1826067782744144943L;
private Integer orderId;
private String userName;
private String productName;
private String phoneNumber;
private String address;
//省略 get set ..
}
public class OrderResponse implements java.io.Serializable {
private static final long serialVersionUID = -5003946216600820264L;
private Integer orderId;
private String respCode;
private String desc;
}