测试序列化类型
This commit is contained in:
parent
de4476e04d
commit
3df4f9dee2
|
@ -0,0 +1,93 @@
|
|||
package com.insight.demo.msgpack;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.msgpack.MessagePack;
|
||||
import org.msgpack.packer.Packer;
|
||||
import org.msgpack.unpacker.Unpacker;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
/**
|
||||
* MessagePack6Types
|
||||
*
|
||||
* @author yhu
|
||||
*/
|
||||
public class MessagePack6Types {
|
||||
final Logger logger = LoggerFactory.getLogger(MessagePack6Types.class);
|
||||
|
||||
|
||||
/**
|
||||
* Test MessagePack6Types
|
||||
*/
|
||||
@Test
|
||||
public void testMessagePack6Types() {
|
||||
logger.debug("testMessagePack6Types for Types");
|
||||
|
||||
MessagePack msgpack = new MessagePack();
|
||||
try {
|
||||
|
||||
//
|
||||
// Serialization
|
||||
//
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
Packer packer = msgpack.createPacker(out);
|
||||
|
||||
// Serialize values of primitive types
|
||||
packer.write(true); // boolean value
|
||||
packer.write(10); // int value
|
||||
packer.write(10.5); // double value
|
||||
|
||||
// Serialize objects of primitive wrapper types
|
||||
packer.write(Boolean.TRUE);
|
||||
packer.write(new Integer(10));
|
||||
packer.write(new Double(10.5));
|
||||
|
||||
// Serialize various types of arrays
|
||||
packer.write(new int[]{1, 2, 3, 4});
|
||||
packer.write(new Double[]{10.5, 20.5});
|
||||
packer.write(new String[]{"msg", "pack", "for", "java"});
|
||||
packer.write(new byte[]{0x30, 0x31, 0x32}); // byte array
|
||||
|
||||
// Serialize various types of other reference values
|
||||
packer.write("MessagePack"); // String object
|
||||
packer.write(ByteBuffer.wrap(new byte[]{0x30, 0x31, 0x32})); // ByteBuffer object
|
||||
packer.write(BigInteger.ONE); // BigInteger object
|
||||
|
||||
//
|
||||
// Deserialization
|
||||
//
|
||||
byte[] bytes = out.toByteArray();
|
||||
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
|
||||
Unpacker unpacker = msgpack.createUnpacker(in);
|
||||
|
||||
// to primitive values
|
||||
boolean b = unpacker.readBoolean(); // boolean value
|
||||
int i = unpacker.readInt(); // int value
|
||||
double d = unpacker.readDouble(); // double value
|
||||
|
||||
// to primitive wrapper value
|
||||
Boolean wb = unpacker.read(Boolean.class);
|
||||
Integer wi = unpacker.read(Integer.class);
|
||||
Double wd = unpacker.read(Double.class);
|
||||
|
||||
// to arrays
|
||||
int[] ia = unpacker.read(int[].class);
|
||||
Double[] da = unpacker.read(Double[].class);
|
||||
String[] sa = unpacker.read(String[].class);
|
||||
byte[] ba = unpacker.read(byte[].class);
|
||||
|
||||
// to String object, ByteBuffer object, BigInteger object, List object and Map object
|
||||
String ws = unpacker.read(String.class);
|
||||
ByteBuffer buf = unpacker.read(ByteBuffer.class);
|
||||
BigInteger bi = unpacker.read(BigInteger.class);
|
||||
|
||||
} catch (Exception ex) {
|
||||
logger.error("MessagePack Serialization And Deserialization error", ex);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue