当前位置: 首页>>代码示例>>Java>>正文


Java ProtostuffIOUtil类代码示例

本文整理汇总了Java中com.dyuproject.protostuff.ProtostuffIOUtil的典型用法代码示例。如果您正苦于以下问题:Java ProtostuffIOUtil类的具体用法?Java ProtostuffIOUtil怎么用?Java ProtostuffIOUtil使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ProtostuffIOUtil类属于com.dyuproject.protostuff包,在下文中一共展示了ProtostuffIOUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 序列化对象
 *
 * @param obj
 * @return
 */
public static <T> byte[] serialize(T obj) {
    if (obj == null) {
        throw new RuntimeException("序列化对象(" + obj + ")!");
    }
    @SuppressWarnings("unchecked")
    Schema<T> schema = (Schema<T>) RuntimeSchema.getSchema(obj.getClass());
    LinkedBuffer buffer = LinkedBuffer.allocate(1024 * 1024);
    byte[] protostuff = null;
    try {
        protostuff = ProtostuffIOUtil.toByteArray(obj, schema, buffer);
    } catch (Exception e) {
        throw new RuntimeException("序列化(" + obj.getClass() + ")对象(" + obj + ")发生异常!", e);
    } finally {
        buffer.clear();
    }
    return protostuff;
}
 
开发者ID:melonlee,项目名称:PowerApi,代码行数:24,代码来源:ProtoStuffSerializerUtil.java

示例2: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 序列化对象
 *
 * @param obj 需要序更列化的对象
 * @return byte []
 * @throws TccException
 */
@Override
public byte[] serialize(Object obj) throws TccException {
    Class cls = obj.getClass();
    LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    try {
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.writeTo(outputStream, obj, schema, buffer);
    } catch (Exception e) {
        throw new TccException(e.getMessage(), e);
    } finally {
        buffer.clear();
    }
    return outputStream.toByteArray();
}
 
开发者ID:yu199195,项目名称:happylifeplat-tcc,代码行数:23,代码来源:ProtostuffSerializer.java

示例3: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 序列化对象
 *
 * @param obj 需要序更列化的对象
 * @return byte []
 * @throws MythException 异常信息
 */
@Override
public byte[] serialize(Object obj) throws MythException {
    Class cls = obj.getClass();
    LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    try {
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.writeTo(outputStream, obj, schema, buffer);
    } catch (Exception e) {
        throw new MythException(e.getMessage(), e);
    } finally {
        buffer.clear();
    }
    return outputStream.toByteArray();
}
 
开发者ID:yu199195,项目名称:myth,代码行数:23,代码来源:ProtostuffSerializer.java

示例4: getSeckill

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
public Seckill getSeckill(long seckillId) {
    try {
        Jedis jedis = jedisPool.getResource();
        try {
            String key = "seckill:" + seckillId;

            //从字节数组到对象
            byte[] bytes = jedis.get(key.getBytes());
            if (bytes != null) {
                Seckill seckill = schema.newMessage();
                //反序列,赋值
                ProtostuffIOUtil.mergeFrom(bytes, seckill, schema);
                return seckill;
            }

        } finally {
            jedis.close();
        }
    } catch (Exception e) {
        LOG.error(e.getMessage(), e);
    }
    return null;
}
 
开发者ID:jessezwd,项目名称:HCS,代码行数:24,代码来源:RedisDao.java

示例5: putSeckill

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
public String putSeckill(Seckill seckill) {
    try {
        Jedis jedis = jedisPool.getResource();
        try {
            String key = "seckill:" + seckill.getSeckillId();
            byte[] bytes = ProtostuffIOUtil.toByteArray(seckill, schema,
                    LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
            int timeout = 60 * 60; //一小时
            String result = jedis.setex(key.getBytes(), timeout, bytes);
            return result;
        } finally{
            jedis.close();
        }
    } catch (Exception e) {
        LOG.error(e.getMessage(), e);
    }
    return null;
}
 
开发者ID:jessezwd,项目名称:HCS,代码行数:19,代码来源:RedisDao.java

示例6: deserialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
@Override
public Object deserialize(InputStream input) {
    try {
        HeartBeat message = objenesis.newInstance(HeartBeat.class);
        Schema<HeartBeat> schema = getSchema(HeartBeat.class);
        ProtostuffIOUtil.mergeFrom(input, message, schema);
        return message;
    } catch (Exception e) {
        throw new IllegalStateException(e.getMessage(), e);
    }
}
 
开发者ID:yu199195,项目名称:happylifeplat-transaction,代码行数:12,代码来源:ProtostuffSerialize.java

示例7: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
@Override
public void serialize(OutputStream output, Object object) {
    Class cls = object.getClass();
    LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
    try {
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.writeTo(output, object, schema, buffer);
    } catch (Exception e) {
        throw new IllegalStateException(e.getMessage(), e);
    } finally {
        buffer.clear();
    }
}
 
开发者ID:yu199195,项目名称:happylifeplat-transaction,代码行数:14,代码来源:ProtostuffSerialize.java

示例8: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 序列化对象
 *
 * @param obj 需要序更列化的对象
 * @return byte []
 * @throws TransactionException
 */
@Override
public byte[] serialize(Object obj) throws TransactionException {
    Class cls = obj.getClass();
    LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
    try ( ByteArrayOutputStream outputStream = new ByteArrayOutputStream();){
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.writeTo(outputStream, obj, schema, buffer);
        return outputStream.toByteArray();
    } catch (Exception e) {
        throw new TransactionException(e.getMessage(), e);
    } finally {
        buffer.clear();
    }
}
 
开发者ID:yu199195,项目名称:happylifeplat-transaction,代码行数:22,代码来源:ProtostuffSerializer.java

示例9: deSerialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 反序列化对象
 *
 * @param param 需要反序列化的byte []
 * @param clazz
 * @return 对象
 * @throws TransactionException
 */
@Override
public <T> T deSerialize(byte[] param, Class<T> clazz) throws TransactionException {
    T object;
    try( ByteArrayInputStream inputStream = new ByteArrayInputStream(param)) {
        Class cls = clazz;
        object = OBJENESIS_STD.newInstance((Class<T>) cls);
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.mergeFrom(inputStream, object, schema);
        return object;
    } catch (Exception e) {
        throw new TransactionException(e.getMessage(), e);
    }
}
 
开发者ID:yu199195,项目名称:happylifeplat-transaction,代码行数:22,代码来源:ProtostuffSerializer.java

示例10: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
@Override
public byte[] serialize(Object obj) throws SerializerException {
    Class cls = obj.getClass();
    LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    try {
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.writeTo(outputStream, obj, schema, buffer);
    } catch (Exception e) {
        throw new SerializerException(e.getMessage(), e);
    } finally {
        buffer.clear();
    }
    return outputStream.toByteArray();
}
 
开发者ID:1991wangliang,项目名称:tx-lcn,代码行数:16,代码来源:ProtostuffSerializer.java

示例11: deSerialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
@Override
public <T> T deSerialize(byte[] param, Class<T> clazz) throws SerializerException {
    T object;
    try {
        ByteArrayInputStream inputStream = new ByteArrayInputStream(param);
        Class cls = clazz;
        object = objenesis.newInstance((Class<T>) cls);
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.mergeFrom(inputStream, object, schema);
        return object;
    } catch (Exception e) {
        throw new SerializerException(e.getMessage(), e);
    }
}
 
开发者ID:1991wangliang,项目名称:tx-lcn,代码行数:15,代码来源:ProtostuffSerializer.java

示例12: serialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
public byte[] serialize(Object object) {
	if(object == null){
		return null;
	}
	LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
	try {
		//return ProtobufIOUtil.toByteArray(new ObjectWrapper(object), schema, buffer);
		return ProtostuffIOUtil.toByteArray(new ObjectWrapper(object), schema, buffer);
	} finally {
		buffer.clear();
	}
}
 
开发者ID:penggle,项目名称:xproject,代码行数:13,代码来源:ProtostuffSerializer.java

示例13: deserialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
public <T> T deserialize(byte[] bytes) {
	if(bytes == null || bytes.length == 0){
		return null;
	}
	try {
		ObjectWrapper objectWrapper = new ObjectWrapper();
		//ProtobufIOUtil.mergeFrom(bytes, objectWrapper, schema);
		ProtostuffIOUtil.mergeFrom(bytes, objectWrapper, schema);
		return (T) objectWrapper.getObject();
	} catch (Exception e) {
		throw new RuntimeException(e.getMessage(), e);
	}
}
 
开发者ID:penggle,项目名称:xproject,代码行数:14,代码来源:ProtostuffSerializer.java

示例14: deSerialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 反序列化对象
 *
 * @param param 需要反序列化的byte []
 * @param clazz
 * @return 对象
 * @throws TccException
 */
@Override
public <T> T deSerialize(byte[] param, Class<T> clazz) throws TccException {
    T object;
    try {
        ByteArrayInputStream inputStream = new ByteArrayInputStream(param);
        Class cls = clazz;
        object = OBJENESIS_STD.newInstance((Class<T>) cls);
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.mergeFrom(inputStream, object, schema);
        return object;
    } catch (Exception e) {
        throw new TccException(e.getMessage(), e);
    }
}
 
开发者ID:yu199195,项目名称:happylifeplat-tcc,代码行数:23,代码来源:ProtostuffSerializer.java

示例15: deSerialize

import com.dyuproject.protostuff.ProtostuffIOUtil; //导入依赖的package包/类
/**
 * 反序列化对象
 *
 * @param param 需要反序列化的byte []
 * @param clazz clazz
 * @return 对象
 * @throws MythException 异常
 */
@Override
public <T> T deSerialize(byte[] param, Class<T> clazz) throws MythException {
    T object;
    try {
        ByteArrayInputStream inputStream = new ByteArrayInputStream(param);
        Class cls = clazz;
        object = OBJENESIS_STD.newInstance((Class<T>) cls);
        Schema schema = getSchema(cls);
        ProtostuffIOUtil.mergeFrom(inputStream, object, schema);
        return object;
    } catch (Exception e) {
        throw new MythException(e.getMessage(), e);
    }
}
 
开发者ID:yu199195,项目名称:myth,代码行数:23,代码来源:ProtostuffSerializer.java


注:本文中的com.dyuproject.protostuff.ProtostuffIOUtil类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。