Hazelcast 流无法反序列化字符串
Hazelcast streams can't de-serialize string
Hazelcast 3.9.1,Jet 0.5.1
我有一个调用 ObjectDataInput.readObject(clazz) 的 StreamSerializer
似乎默认的 java 反序列化器没有实现 jet 所需的接口:TypedStreamDeserializer
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: StreamSerializerAdapter{serializer=com.hazelcast.internal.serialization.impl.ConstantSerializers$StringSerializer@3a1efa48} is not implementing the interface com.hazelcast.nio.serialization.TypedStreamDeserializer interface. Please implement this interface to deserialize for class class java.lang.String
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:55) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:288) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:576) ~[hazelcast-3.9.1.jar:3.9.1]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZTypedPropertiesSerializer.read(CustomSerializers.java:304) ~[classes/:?]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZTypedPropertiesSerializer.read(CustomSerializers.java:322) ~[classes/:?]
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:60) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:288) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:576) ~[hazelcast-3.9.1.jar:3.9.1]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZAccountSerializer.read(CustomSerializers.java:85) ~[classes/:?]
@sancar 在评论中回答了问题:
This is not a bug. readObject(clazz) is intended for a specific use case. Probably not applicable to your scenario. readObject without class parameter should be used if you write with writeObject . – sancar
Hazelcast 3.9.1,Jet 0.5.1
我有一个调用 ObjectDataInput.readObject(clazz) 的 StreamSerializer 似乎默认的 java 反序列化器没有实现 jet 所需的接口:TypedStreamDeserializer
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: StreamSerializerAdapter{serializer=com.hazelcast.internal.serialization.impl.ConstantSerializers$StringSerializer@3a1efa48} is not implementing the interface com.hazelcast.nio.serialization.TypedStreamDeserializer interface. Please implement this interface to deserialize for class class java.lang.String
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:55) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:288) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:576) ~[hazelcast-3.9.1.jar:3.9.1]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZTypedPropertiesSerializer.read(CustomSerializers.java:304) ~[classes/:?]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZTypedPropertiesSerializer.read(CustomSerializers.java:322) ~[classes/:?]
at com.hazelcast.internal.serialization.impl.StreamSerializerAdapter.read(StreamSerializerAdapter.java:60) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.AbstractSerializationService.readObject(AbstractSerializationService.java:288) ~[hazelcast-3.9.1.jar:3.9.1]
at com.hazelcast.internal.serialization.impl.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:576) ~[hazelcast-3.9.1.jar:3.9.1]
at com.ttcore.caching.distributed.serial.CustomSerializers$HZAccountSerializer.read(CustomSerializers.java:85) ~[classes/:?]
@sancar 在评论中回答了问题:
This is not a bug. readObject(clazz) is intended for a specific use case. Probably not applicable to your scenario. readObject without class parameter should be used if you write with writeObject . – sancar