本文整理汇总了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;
}
示例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();
}
示例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();
}
示例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;
}
示例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;
}
示例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);
}
}
示例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();
}
}
示例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();
}
}
示例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);
}
}
示例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();
}
示例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);
}
}
示例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();
}
}
示例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);
}
}
示例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);
}
}
示例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);
}
}