public class JsonInstanceSerializer<T> extends Object implements InstanceSerializer<T>
Constructor and Description |
---|
JsonInstanceSerializer(Class<T> payloadClass)
CURATOR-275 introduced a new field into
ServiceInstance . |
JsonInstanceSerializer(Class<T> payloadClass,
boolean compatibleSerializationMode)
CURATOR-275 introduced a new field into
ServiceInstance . |
Modifier and Type | Method and Description |
---|---|
ServiceInstance<T> |
deserialize(byte[] bytes)
Deserialize a byte array into an instance
|
byte[] |
serialize(ServiceInstance<T> instance)
Serialize an instance into bytes
|
public JsonInstanceSerializer(Class<T> payloadClass)
ServiceInstance
. This caused a potential
UnrecognizedPropertyException
in older clients that
read newly serialized ServiceInstances. Therefore the default behavior of JsonInstanceSerializer
has been changed to NOT serialize the enabled
field. If you wish to use that field, use the
alternate constructor JsonInstanceSerializer(Class, boolean)
and pass true for
compatibleSerializationMode
. Note: future versions of Curator may change this
behavior.payloadClass
- used to validate payloads when deserializingpublic JsonInstanceSerializer(Class<T> payloadClass, boolean compatibleSerializationMode)
ServiceInstance
. This caused a potential
UnrecognizedPropertyException
in older clients that
read newly serialized ServiceInstances. If you are susceptible to this you should set the
serializer to be an instance of JsonInstanceSerializer
with compatibleSerializationMode
set to true. IMPORTANT: when this is done, the new enabled
field of ServiceInstance is not serialized. If however you do want
to use the enabled
field, set compatibleSerializationMode
to false.payloadClass
- used to validate payloads when deserializingcompatibleSerializationMode
- pass true to serialize in a manner that supports clients pre-CURATOR-275public ServiceInstance<T> deserialize(byte[] bytes) throws Exception
InstanceSerializer
deserialize
in interface InstanceSerializer<T>
bytes
- the bytesException
- any errorspublic byte[] serialize(ServiceInstance<T> instance) throws Exception
InstanceSerializer
serialize
in interface InstanceSerializer<T>
instance
- the instanceException
- any errorsCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.