Interface SerializationProvider

  • All Superinterfaces:
    Service

    public interface SerializationProvider
    extends Service
    A Service providing Serializer instances.

    The CacheManager obtains an instance of this Service prior to creating any Cache instances. Before creating each Cache instance, the CacheManager calls the createKeySerializer(Class, ClassLoader, ServiceConfiguration[]) and createValueSerializer(Class, ClassLoader, ServiceConfiguration[]) methods to obtain Serializer instances for the Cache, either through explicit configuration or from CacheManager level configuration.

    Some Cache configurations make serialization mandatory. If serialization is mandatory, failure to return a Serializer from a SerializationProvider results in a Cache initialization failure. For a Cache in which serialization is not mandatory, failing to return a Serializer will not cause Cache initialization failure.

    • Method Detail

      • createKeySerializer

        <T> Serializer<T> createKeySerializer​(java.lang.Class<T> clazz,
                                              java.lang.ClassLoader classLoader,
                                              ServiceConfiguration<?,​?>... configs)
                                       throws UnsupportedTypeException
        Creates a key Serializer with the given parameters.
        Type Parameters:
        T - the type serialized to serialize to/from
        Parameters:
        clazz - the class of the type to serialize to/from
        classLoader - the classloader used to load classes during deserialization; may be null
        configs - the ServiceConfiguration instances available through the CacheManager
        Returns:
        a Serializer instance, possibly null
        Throws:
        UnsupportedTypeException - if a serializer cannot be created for the given type
      • createValueSerializer

        <T> Serializer<T> createValueSerializer​(java.lang.Class<T> clazz,
                                                java.lang.ClassLoader classLoader,
                                                ServiceConfiguration<?,​?>... configs)
                                         throws UnsupportedTypeException
        Creates a value Serializer with the given parameters.
        Type Parameters:
        T - the type serialized to serialize to/from
        Parameters:
        clazz - the class of the type to serialize to/from
        classLoader - the classloader used to load classes during deserialization; may be null
        configs - the ServiceConfiguration instances available through the CacheManager
        Returns:
        a Serializer instance, possibly null
        Throws:
        UnsupportedTypeException - if a serializer cannot be created for the given type
      • releaseSerializer

        void releaseSerializer​(Serializer<?> serializer)
                        throws java.lang.Exception
        Releases the given Serializer instance. If the serializer is obtained from a SerializationProvider and implements Closeable, the close method is invoked.
        Parameters:
        serializer - the serializer to be released
        Throws:
        java.lang.Exception - when the release fails