官网:[url]http://hessian.caucho.com/[/url]
Hessian是一种基于二进制协议的轻量级RPC,默认使用HTTP进行传输,它一个重要特点是提供了自己的序列化协议以达到跨语言的效果。
这个二进制协议有两个版本,以下是第二个版本的调用与序列化协议。
[b]RPC调用协议:[/b] [url]http://hessian.caucho.com/doc/hessian-ws.html[/url]
[b]序列化协议:[/b] [url]http://hessian.caucho.com/doc/hessian-serialization.html[/url]
最新的服务端默认兼容两个版本的协议,客户端默认使用第一个版本发送请求,要求第二个版本作为响应,可以定制请求与响应都用第二个版本。
[list][*][b]复杂对象[/b][/list]
同样要求必须实现接口[i]java.io.Serializable[/i]
[list][*][b]服务部署[/b][/list]
目前提供Servlet的形式部署,一个Servlet对应一个Service.
[list][*][b]客户端连接[/b][/list]
默认连接工厂使用JDK的URLConnection进行HTTP连接,不提供连接重用,提供自定义扩展。
Hessian是一种基于二进制协议的轻量级RPC,默认使用HTTP进行传输,它一个重要特点是提供了自己的序列化协议以达到跨语言的效果。
这个二进制协议有两个版本,以下是第二个版本的调用与序列化协议。
[b]RPC调用协议:[/b] [url]http://hessian.caucho.com/doc/hessian-ws.html[/url]
[b]序列化协议:[/b] [url]http://hessian.caucho.com/doc/hessian-serialization.html[/url]
最新的服务端默认兼容两个版本的协议,客户端默认使用第一个版本发送请求,要求第二个版本作为响应,可以定制请求与响应都用第二个版本。
HessianProxyFactory factory = new HessianProxyFactory();
factory.setHessian2Request(true);
factory.setHessian2Reply(true);
[list][*][b]复杂对象[/b][/list]
同样要求必须实现接口[i]java.io.Serializable[/i]
[list][*][b]服务部署[/b][/list]
目前提供Servlet的形式部署,一个Servlet对应一个Service.
[list][*][b]客户端连接[/b][/list]
默认连接工厂使用JDK的URLConnection进行HTTP连接,不提供连接重用,提供自定义扩展。
public interface HessianConnectionFactory {
/**
* Sets the HessianProxyFactory
*/
public void setHessianProxyFactory(HessianProxyFactory factory);
/**
* Opens a new or recycled connection to the HTTP server.
*/
public HessianConnection open(URL url)
throws IOException;
}