The following fails with an IllegalStateException
ObjectMapper msgPackObjectMapper = new ObjectMapper(new MessagePackFactory());
byte[] msgPack = msgPackObjectMapper.writeValueAsBytes(1); // Throws
com.fasterxml.jackson.databind.JsonMappingException: The stack is empty
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:139)
at com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:2881)
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsBytes(ObjectMapper.java:2362)
...
Caused by: java.lang.IllegalStateException: The stack is empty
at org.msgpack.jackson.dataformat.MessagePackGenerator.getStackTop(MessagePackGenerator.java:371)
at org.msgpack.jackson.dataformat.MessagePackGenerator.addValueToStackTop(MessagePackGenerator.java:397)
at org.msgpack.jackson.dataformat.MessagePackGenerator.writeNumber(MessagePackGenerator.java:284)
at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:138)
at com.fasterxml.jackson.databind.ser.std.NumberSerializers$IntegerSerializer.serialize(NumberSerializers.java:131)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:128)
...
I would expect the array returned to contain 0x01, which is what out would contain if done manually.
ByteArrayOutputStream out = new ByteArrayOutputStream();
MessagePack.newDefaultPacker(out).packInt(1).close();
This appears to also fail for the other basic types such as booleans, BigInteger, and Strings.
The following fails with an IllegalStateException
I would expect the array returned to contain 0x01, which is what
outwould contain if done manually.This appears to also fail for the other basic types such as booleans, BigInteger, and Strings.