使用hessian2协议,也就是传输对象序列化,它是二进制的RPC协议,与RMI不同的是,以标准的二进制格式定义请求的信息(请求的对象、方法、参数等),可以跨语言通讯,而RMI只局限于java间通讯。
1.hessian2原理
java-hessian2
自定义的类使用默认的序列化类com.caucho.hessian.io.JavaSerializer(Class, ClassLoader)
接口Serializer定义了序列化器的方法writeObject(Object, AbstractHessianOutput);
public interface Serializer {
public void writeObject(Object obj, AbstractHessianOutput out) throws IOException;
}
默认序列化器JavaSerializer
public class JavaSerializer extends AbstractSerializer{
public JavaSerializer(Class, ClassLoader){//...}
}
抽象工厂类定义了获取序列化和反序列化类的接口
abstract public class AbstractSerializerFactory {
abstract public Serializer getSerializer(Class<?> cl) throws HessianProtocolException;
abstract public Deserializer get