Class ProtobufSerializerHook<T extends com.google.protobuf.GeneratedMessageV3>

java.lang.Object
com.hazelcast.jet.protobuf.ProtobufSerializerHook<T>
Type Parameters:
T - the Protocol Buffers GeneratedMessageV3 type handled by this SerializerHook.
All Implemented Interfaces:
SerializerHook<T>

public abstract class ProtobufSerializerHook<T extends com.google.protobuf.GeneratedMessageV3> extends Object implements SerializerHook<T>
Simplifies using the Hazelcast Serializer Hook mechanism to register a Google Protocol Buffers serializer with the Hazelcast Jet cluster. The serialized class can then be used in Hazelcast data structures and Jet jobs.

To use it, create a JAR containing the serializer hook class and META-INF/services/com.hazelcast.SerializerHook, a plain-text file containing its fully qualified name. Visit Jet's Serialization Guide for more details.

Since:
Jet 4.1
  • Constructor Details

    • ProtobufSerializerHook

      protected ProtobufSerializerHook(Class<T> clazz, int typeId)
      Creates Protocol Buffers v3 serializer hook.
      Parameters:
      clazz - GeneratedMessageV3 serialization type registered by this hook
      typeId - unique type id of serializer registered by this hook
  • Method Details

    • getSerializationType

      public Class<T> getSerializationType()
      Description copied from interface: SerializerHook
      Returns the actual class type of the serialized object
      Specified by:
      getSerializationType in interface SerializerHook<T extends com.google.protobuf.GeneratedMessageV3>
    • createSerializer

      public Serializer createSerializer()
      Description copied from interface: SerializerHook
      Creates a new serializer for the serialization type
      Specified by:
      createSerializer in interface SerializerHook<T extends com.google.protobuf.GeneratedMessageV3>
    • isOverwritable

      public boolean isOverwritable()
      Description copied from interface: SerializerHook
      Indicates if this serializer can be overridden by defining a custom serializer in the configurations (via code or configuration file)
      Specified by:
      isOverwritable in interface SerializerHook<T extends com.google.protobuf.GeneratedMessageV3>