public final class EnterpriseDataSerializableSerializer extends Object implements com.hazelcast.nio.serialization.StreamSerializer<com.hazelcast.nio.serialization.DataSerializable>, com.hazelcast.nio.serialization.TypedStreamDeserializer<com.hazelcast.nio.serialization.DataSerializable>
StreamSerializer that handles:
DataSerializableIdentifiedDataSerializableThis is the enterprise version of the DataSerializableSerializer that handles the versioning. Each object annotated by the @Versioned annotation will get the cluster major.minor version included in the byte stream if the cluster version is not set to UNKNOWN. It is only used if rolling-upgrades are enabled (for backward compatibility).
We don't send the patch version since there it is impossible to put patch version releases in a time ordered sequence. 3.8.5 might have been released after 3.9.2. In order to know that we would have to hard-code the release order into the code. What we can order are the minor releases -> it's obvious that 3.8 was released before 3.9.
What is more, there should not be any byte format differences between patch releases. Between two patch releases everything should work out-of-the-box due to our binary compatibility policy and we don't want to change that. Enabling binary versioning among patch releases would cause a lot of overhead and would make our coding and testing process massively more complex.
| Modifier and Type | Method and Description |
|---|---|
void |
destroy() |
int |
getTypeId() |
com.hazelcast.nio.serialization.DataSerializable |
read(com.hazelcast.nio.ObjectDataInput in) |
com.hazelcast.nio.serialization.DataSerializable |
read(com.hazelcast.nio.ObjectDataInput in,
Class clazz) |
void |
write(com.hazelcast.nio.ObjectDataOutput out,
com.hazelcast.nio.serialization.DataSerializable obj) |
public void destroy()
destroy in interface com.hazelcast.nio.serialization.Serializerpublic int getTypeId()
getTypeId in interface com.hazelcast.nio.serialization.Serializerpublic com.hazelcast.nio.serialization.DataSerializable read(com.hazelcast.nio.ObjectDataInput in,
Class clazz)
throws IOException
read in interface com.hazelcast.nio.serialization.TypedStreamDeserializer<com.hazelcast.nio.serialization.DataSerializable>IOExceptionpublic com.hazelcast.nio.serialization.DataSerializable read(com.hazelcast.nio.ObjectDataInput in)
throws IOException
read in interface com.hazelcast.nio.serialization.StreamSerializer<com.hazelcast.nio.serialization.DataSerializable>IOExceptionpublic void write(com.hazelcast.nio.ObjectDataOutput out,
com.hazelcast.nio.serialization.DataSerializable obj)
throws IOException
write in interface com.hazelcast.nio.serialization.StreamSerializer<com.hazelcast.nio.serialization.DataSerializable>IOExceptionCopyright © 2021 Hazelcast, Inc.. All Rights Reserved.