diff --git a/java/src/main/java/org/msgpack/Packer.java b/java/src/main/java/org/msgpack/Packer.java index 00a3aae..b4526cd 100644 --- a/java/src/main/java/org/msgpack/Packer.java +++ b/java/src/main/java/org/msgpack/Packer.java @@ -486,8 +486,7 @@ public class Packer { packer.pack(this, o); return this; } else if (isAnnotated(klass, MessagePackMessage.class)) { - ReflectionPacker.create(klass); - CustomPacker.register(klass, packer); + packer = ReflectionPacker.create(klass); packer.pack(this, o); return this; } else if (isAnnotated(klass, MessagePackDelegate.class)) { @@ -495,7 +494,7 @@ public class Packer { } else if (isAnnotated(klass, MessagePackOrdinalEnum.class)) { throw new UnsupportedOperationException("not supported yet. : " + klass.getName()); } - + CustomPacker.register(klass, packer); // FIXME check annotations -> code generation -> CustomMessage.registerPacker throw new MessageTypeException("unknown object "+o+" ("+o.getClass()+")");