Class JacksonCompactSerializer<T>

java.lang.Object
com.norconex.crawler.core.cluster.impl.hazelcast.JacksonCompactSerializer<T>
Type Parameters:
T - the value type
All Implemented Interfaces:
com.hazelcast.nio.serialization.compact.CompactSerializer<T>

public class JacksonCompactSerializer<T> extends Object implements com.hazelcast.nio.serialization.compact.CompactSerializer<T>
A generic Hazelcast Compact serializer that delegates to Jackson (via SerialUtil) for the actual serialization. The object graph is stored as a single JSON string field inside the Compact frame.

This avoids the overhead of Java Serializable class descriptors while reusing the already-tested Jackson mapping for complex types such as CrawlerEntry and its subclasses.

  • Constructor Details

    • JacksonCompactSerializer

      public JacksonCompactSerializer(Class<T> type)
  • Method Details

    • read

      @NonNull public T read(@NonNull @NonNull com.hazelcast.nio.serialization.compact.CompactReader reader)
      Specified by:
      read in interface com.hazelcast.nio.serialization.compact.CompactSerializer<T>
    • write

      public void write(@NonNull @NonNull com.hazelcast.nio.serialization.compact.CompactWriter writer, @NonNull T value)
      Specified by:
      write in interface com.hazelcast.nio.serialization.compact.CompactSerializer<T>
    • getTypeName

      @NonNull public @NonNull String getTypeName()
      Specified by:
      getTypeName in interface com.hazelcast.nio.serialization.compact.CompactSerializer<T>
    • getCompactClass

      @NonNull public @NonNull Class<T> getCompactClass()
      Specified by:
      getCompactClass in interface com.hazelcast.nio.serialization.compact.CompactSerializer<T>