本文整理汇总了Java中io.protostuff.LinkedBuffer类的典型用法代码示例。如果您正苦于以下问题:Java LinkedBuffer类的具体用法?Java LinkedBuffer怎么用?Java LinkedBuffer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
LinkedBuffer类属于io.protostuff包,在下文中一共展示了LinkedBuffer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: serialize
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public static <T> byte[] serialize(T obj) {
Class<T> cls = (Class<T>) obj.getClass();
// 如果是基本类型,则转换为string
if (isSupport(cls)) {
return castToString(obj).getBytes();
}
LinkedBuffer buffer = LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE);
try {
Schema<T> schema = getSchema(cls);
return ProtostuffIOUtil.toByteArray(obj, schema, buffer);
} catch (Exception e) {
throw new IllegalStateException(e.getMessage(), e);
} finally {
buffer.clear();
}
}
示例2: write
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
public void write(WrapSchema headerSchema, Object header, WrapSchema bodySchema, Object body) throws Exception {
// 写protobuf数据
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
// 写header
if (headerSchema != null) {
headerSchema.writeObject(output, header, protobufFeature);
}
int headerSize = output.getSize();
// 写body
// void时bodySchema为null
if (bodySchema != null) {
bodySchema.writeObject(output, body, protobufFeature);
}
writeLength(output.getSize(), headerSize);
LinkedBuffer.writeTo(this, linkedBuffer);
}
示例3: testWriteObject
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
@Test
public void testWriteObject() {
boolean status = true;
LinkedBuffer linkedBuffer = LinkedBuffer.allocate();
ProtobufOutput output = new ProtobufOutput(linkedBuffer);
String[] stringArray = new String[1];
stringArray[0] = "abc";
MultiWrapper multiWrapper = Mockito.mock(MultiWrapper.class);
Mockito.when(schema.newMessage()).thenReturn(multiWrapper);
try {
argsWrapSchema.writeObject(output, stringArray);
} catch (IOException e) {
status = true;
}
Assert.assertTrue(status);
}
示例4: serialize
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* 序列化对象
*
* @param obj
* @param <T>
* @return
*/
public static <T> byte[] serialize(T obj) {
if (obj == null) {
throw new RuntimeException("序列化对象(" + obj + ")为空!");
}
RuntimeSchema<T> schema = RuntimeSchema.createFrom((Class<T>) 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;
}
示例5: putEmp
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* 将emp存入redis
* @param emp
* @return
* @throws Exception
*/
private String putEmp(Emp emp) throws Exception{
Jedis jedis = jedisPool.getResource();
jedis.auth("redis");
try {
String key = "emp" + emp.getEmpId();
byte[] bytes = ProtobufIOUtil.toByteArray(emp, schema,
LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
int timeout = 60 * 60;//1小时
String result = jedis.setex(key.getBytes(), timeout, bytes);
return result;
}finally {
jedis.close();
}
}
示例6: getValueLocking
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
public Object getValueLocking(Object key,String host,String port, String mac, String portS,int hostId) {
try {
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
key = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
JCL_message_generic gvMessage = new MessageGenericImpl();
gvMessage.setType(15);
gvMessage.setRegisterData(key);
JCL_connector globalVarConnector = new ConnectorImpl();
globalVarConnector.connect(host,Integer.parseInt(port),mac);
JCL_message_generic result = (JCL_message_generic) globalVarConnector.sendReceiveG(gvMessage,portS);
globalVarConnector.disconnect();
// result from host
return result.getRegisterData();
} catch (Exception e) {
System.err.println("problem in JCL facade getValueLocking");
e.printStackTrace();
return null;
}
}
示例7: isLock
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
public Boolean isLock(Object key,String host,String port, String mac, String portS, int hostId) {
try {
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
key = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
JCL_message_generic gvMessage = new MessageGenericImpl();
gvMessage.setRegisterData(key);
gvMessage.setType(20);
JCL_connector globalVarConnector = new ConnectorImpl();
globalVarConnector.connect(host, Integer.parseInt(port),mac);
JCL_result result = globalVarConnector.sendReceive(gvMessage,portS)
.getResult();
Boolean b = (Boolean) result.getCorrectResult();
globalVarConnector.disconnect();
// result from host
return b;
} catch (Exception e) {
return false;
}
}
示例8: put
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Associates the specified value with the specified key in this map.
* If the map previously contained a mapping for the key, the old
* value is replaced.
*
* @param key key with which the specified value is to be associated
* @param value value to be associated with the specified key
* @return the previous value associated with <tt>key</tt>, or
* <tt>null</tt> if there was no mapping for <tt>key</tt>.
*/
public V put(K key, V value){
Object oldValue = null;
if ((key != null) && ((oldValue = super.hashPut((key.toString()+"�Map�"+gvName), value))!=null)){
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
Schema<ObjectWrap> scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
super.hashAdd(gvName,ByteBuffer.wrap(k),idLocalize);
}else{
System.out.println("Null key or fault in put<K,V> on cluster!");
}
return (V)oldValue;
}
示例9: putUnlock
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Associates the specified value with the specified key in this map.
* If the map previously contained a mapping for the key, the old
* value is replaced.
*
* @param key key with which the specified value is to be associated
* @param value value to be associated with the specified key
* @return the previous value associated with <tt>key</tt>, or
* <tt>null</tt> if there was no mapping for <tt>key</tt>.
*/
public V putUnlock(K key, V value){
V oldValue = null;
if (key != null){
if(DEFAULT_JCL.containsGlobalVar(key.toString()+"�Map�"+gvName)){
oldValue = (V) DEFAULT_JCL.getValue(key.toString()+"�Map�"+gvName).getCorrectResult();
DEFAULT_JCL.setValueUnlocking((key.toString()+"�Map�"+gvName), value);
}else if (DEFAULT_JCL.instantiateGlobalVar((key.toString()+"�Map�"+gvName), value)){
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
Schema scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
super.hashAdd(gvName,ByteBuffer.wrap(k),idLocalize);
}
}else{
System.out.println("Can't put<K,V> with null key!");
}
return (oldValue == null ? null : oldValue);
}
示例10: putAll
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Copies all of the mappings from the specified map to this map.
* These mappings will replace any mappings that this map had for
* any of the keys currently in the specified map.
*
* @param m mappings to be stored in this map
* @throws NullPointerException if the specified map is null
*/
public void putAll(Map<? extends K, ? extends V> m) {
int numKeysToBeAdded = m.size();
if (numKeysToBeAdded == 0)
return;
super.instantiateBin((Object)m.entrySet(), this.gvName);
List<Object> obj = new ArrayList<Object>();
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
for(K key:m.keySet()){
// ################ Serialization key ########################
buffer.clear();
ObjectWrap objW = new ObjectWrap(key);
Schema scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
obj.add(ByteBuffer.wrap(k));
}
super.hashAdd(gvName, obj,idLocalize);
}
示例11: getValueLocking
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
public Object getValueLocking(Object key,String host,String port, String mac, String portS,int hostId) {
try {
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
key = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
JCL_message_generic gvMessage = new MessageGenericImpl();
gvMessage.setType(15);
gvMessage.setRegisterData(key);
JCL_connector globalVarConnector = new ConnectorImpl();
globalVarConnector.connect(host,Integer.parseInt(port),mac);
JCL_message_generic result = (JCL_message_generic) globalVarConnector.sendReceiveG(gvMessage,portS);
globalVarConnector.disconnect();
// result from host
return result.getRegisterData();
} catch (Exception e) {
System.err.println("problem in JCL facade getValueLocking");
e.printStackTrace();
return null;
}
}
示例12: isLock
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
public Boolean isLock(Object key,String host,String port, String mac, String portS, int hostId) {
try {
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
key = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
JCL_message_generic gvMessage = new MessageGenericImpl();
gvMessage.setRegisterData(key);
gvMessage.setType(20);
JCL_connector globalVarConnector = new ConnectorImpl();
globalVarConnector.connect(host, Integer.parseInt(port),mac);
JCL_result result = globalVarConnector.sendReceive(gvMessage,portS)
.getResult();
Boolean b = (Boolean) result.getCorrectResult();
globalVarConnector.disconnect();
// result from host
return b;
} catch (Exception e) {
return false;
}
}
示例13: put
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Associates the specified value with the specified key in this map.
* If the map previously contained a mapping for the key, the old
* value is replaced.
*
* @param key key with which the specified value is to be associated
* @param value value to be associated with the specified key
* @return the previous value associated with <tt>key</tt>, or
* <tt>null</tt> if there was no mapping for <tt>key</tt>.
*/
public V put(K key, V value){
Object oldValue = null;
if ((key != null) && ((oldValue = super.hashPut((key.toString()+"¬Map¬"+gvName), value))!=null)){
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
Schema<ObjectWrap> scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
super.hashAdd(gvName,ByteBuffer.wrap(k),idLocalize);
}else{
System.out.println("Null key or fault in put<K,V> on cluster!");
}
return (V)oldValue;
}
示例14: putUnlock
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Associates the specified value with the specified key in this map.
* If the map previously contained a mapping for the key, the old
* value is replaced.
*
* @param key key with which the specified value is to be associated
* @param value value to be associated with the specified key
* @return the previous value associated with <tt>key</tt>, or
* <tt>null</tt> if there was no mapping for <tt>key</tt>.
*/
public V putUnlock(K key, V value){
V oldValue = null;
if (key != null){
if(DEFAULT_JCL.containsGlobalVar(key.toString()+"¬Map¬"+gvName)){
oldValue = (V) DEFAULT_JCL.getValue(key.toString()+"¬Map¬"+gvName).getCorrectResult();
DEFAULT_JCL.setValueUnlocking((key.toString()+"¬Map¬"+gvName), value);
}else if (DEFAULT_JCL.instantiateGlobalVar((key.toString()+"¬Map¬"+gvName), value)){
// ################ Serialization key ########################
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
ObjectWrap objW = new ObjectWrap(key);
Schema scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
super.hashAdd(gvName,ByteBuffer.wrap(k),idLocalize);
}
}else{
System.out.println("Can't put<K,V> with null key!");
}
return (oldValue == null ? null : oldValue);
}
示例15: putAll
import io.protostuff.LinkedBuffer; //导入依赖的package包/类
/**
* Copies all of the mappings from the specified map to this map.
* These mappings will replace any mappings that this map had for
* any of the keys currently in the specified map.
*
* @param m mappings to be stored in this map
* @throws NullPointerException if the specified map is null
*/
public void putAll(Map<? extends K, ? extends V> m) {
int numKeysToBeAdded = m.size();
if (numKeysToBeAdded == 0)
return;
super.instantiateBin((Object)m.entrySet(), this.gvName);
List<Object> obj = new ArrayList<Object>();
LinkedBuffer buffer = LinkedBuffer.allocate(1048576);
for(K key:m.keySet()){
// ################ Serialization key ########################
buffer.clear();
ObjectWrap objW = new ObjectWrap(key);
Schema scow = RuntimeSchema.getSchema(ObjectWrap.class);
byte[] k = ProtobufIOUtil.toByteArray(objW,scow, buffer);
// ################ Serialization key ########################
obj.add(ByteBuffer.wrap(k));
}
super.hashAdd(gvName, obj,idLocalize);
}