diff --git a/redisson/src/main/java/org/redisson/codec/Kryo5Codec.java b/redisson/src/main/java/org/redisson/codec/Kryo5Codec.java index 566f433e5..4a28d4bbd 100644 --- a/redisson/src/main/java/org/redisson/codec/Kryo5Codec.java +++ b/redisson/src/main/java/org/redisson/codec/Kryo5Codec.java @@ -86,17 +86,26 @@ public class Kryo5Codec extends BaseCodec { private final Pool kryoPool; private final Pool inputPool; private final Pool outputPool; + private final boolean registrationRequired; public Kryo5Codec() { - this(null); + this(null, false); + } + + public Kryo5Codec(boolean registrationRequired) { + this(null, registrationRequired); } public Kryo5Codec(ClassLoader classLoader, Kryo5Codec codec) { - this(classLoader); + this(classLoader, codec.registrationRequired); } public Kryo5Codec(ClassLoader classLoader) { + this(null, false); + } + public Kryo5Codec(ClassLoader classLoader, boolean registrationRequired) { + this.registrationRequired = registrationRequired; this.kryoPool = new Pool(true, false, 1024) { @Override protected Kryo create() { @@ -125,7 +134,7 @@ public class Kryo5Codec extends BaseCodec { kryo.setClassLoader(classLoader); } kryo.setInstantiatorStrategy(new SimpleInstantiatorStrategy()); - kryo.setRegistrationRequired(false); + kryo.setRegistrationRequired(registrationRequired); kryo.setReferences(false); kryo.addDefaultSerializer(Throwable.class, new JavaSerializer()); kryo.addDefaultSerializer(UUID.class, new DefaultSerializers.UUIDSerializer());