动态类型
This commit is contained in:
parent
e73df4a1dd
commit
808cd1e9da
|
@ -0,0 +1,56 @@
|
||||||
|
package com.insight.demo.msgpack;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.msgpack.MessagePack;
|
||||||
|
import org.msgpack.type.Value;
|
||||||
|
import org.msgpack.unpacker.Converter;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.msgpack.template.Templates.TString;
|
||||||
|
import static org.msgpack.template.Templates.tList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MessagePack6Objects
|
||||||
|
*
|
||||||
|
* @author yhu
|
||||||
|
*/
|
||||||
|
public class MessagePack6DynamicTyping {
|
||||||
|
final Logger logger = LoggerFactory.getLogger(MessagePack6DynamicTyping.class);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test MessagePack6Objects
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void MessagePack6DynamicTyping() {
|
||||||
|
logger.debug("MessagePack6Objects for Objects");
|
||||||
|
|
||||||
|
// Create serialize objects.
|
||||||
|
List<String> src = new ArrayList<String>();
|
||||||
|
src.add("msgpack");
|
||||||
|
src.add("kumofs");
|
||||||
|
src.add("viver");
|
||||||
|
|
||||||
|
MessagePack msgpack = new MessagePack();
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
// Serialize
|
||||||
|
byte[] raw = msgpack.write(src);
|
||||||
|
|
||||||
|
// Deserialize directly using a template
|
||||||
|
List<String> dst1 = msgpack.read(raw, tList(TString));
|
||||||
|
|
||||||
|
// Or, Deserialze to Value then convert type.
|
||||||
|
Value dynamic = msgpack.read(raw);
|
||||||
|
List<String> dst2 = new Converter(dynamic).read(tList(TString));
|
||||||
|
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.error("MessagePack Serialization And Deserialization error", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue