赞
踩
Hession是一个支持跨语言传输的二进制序列化协议,相对于Java默认的序列化机制,Hessian具有更好的性能与易用性,而且支持多种不同的语言。其中,AbstractSerializerFactory、AbstractHessianOutput、AbstractSerializer、AbstractHessianInput、AbstractDeserializer是Hessian实现序列化和反序列化的核心类。
示例代码如下:
- package ares.remoting.framework.serialization.serializer.impl;
-
- import ares.remoting.framework.serialization.serializer.ISerializer;
- import com.caucho.hessian.io.HessianInput;
- import com.caucho.hessian.io.HessianOutput;
-
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
-
- /**
- * @author fuss created on 18/7/23.
- * @version $Id$
- */
- public class HessianSerializer implements ISerializer {
-
-
- public byte[] serialize(Object obj) {
- if (obj == null)
- throw new NullPointerException();
-
- try {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- HessianOutput ho = new HessianOutput(os);
- ho.writeObject(obj);
- return os.toByteArray();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- public <T> T deserialize(byte[] data, Class<T> clazz) {
- if (data == null)
- throw new NullPointerException();
-
- try {
- ByteArrayInputStream is = new ByteArrayInputStream(data);
- HessianInput hi = new HessianInput(is);
- return (T) hi.readObject();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
-
- }
-
-
- }

Hessian Maven依赖配置如下:
- <!-- hession -->
- <dependency>
- <groupId>com.caucho</groupId>
- <artifactId>hessian</artifactId>
- <version>4.0.38</version>
- </dependency>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。