diff --git a/src/test/java/com/insight/demo/msgpack/MessagePack6DynamicTyping.java b/src/test/java/com/insight/demo/msgpack/MessagePack6DynamicTyping.java new file mode 100644 index 0000000..c2a9d4f --- /dev/null +++ b/src/test/java/com/insight/demo/msgpack/MessagePack6DynamicTyping.java @@ -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 src = new ArrayList(); + 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 dst1 = msgpack.read(raw, tList(TString)); + + // Or, Deserialze to Value then convert type. + Value dynamic = msgpack.read(raw); + List dst2 = new Converter(dynamic).read(tList(TString)); + + } catch (Exception ex) { + logger.error("MessagePack Serialization And Deserialization error", ex); + } + } +}