Class SerializationConfig


  • public class SerializationConfig
    extends java.lang.Object
    Contains the serialization configuration of HazelcastInstance.
    • Constructor Detail

      • SerializationConfig

        public SerializationConfig()
    • Method Detail

      • setGlobalSerializerConfig

        public SerializationConfig setGlobalSerializerConfig​(GlobalSerializerConfig globalSerializerConfig)
        Parameters:
        globalSerializerConfig - configuration of serializer that will be used if no other serializer is applicable
        Returns:
        GlobalSerializerConfig
      • setSerializerConfigs

        public SerializationConfig setSerializerConfigs​(java.util.Collection<SerializerConfig> serializerConfigs)
        Parameters:
        serializerConfigs - lists of serializer configs that will be registered
        Returns:
        configured SerializerConfig for chaining
      • getPortableVersion

        public int getPortableVersion()
        Portable version will be used to differentiate two versions of the same class that have changes on the class, like adding/removing a field or changing a type of a field.
        Returns:
        version of portable classes
      • setPortableVersion

        public SerializationConfig setPortableVersion​(int portableVersion)
        Parameters:
        portableVersion - int value for the version of portable classes
        Returns:
        configured SerializerConfig for chaining
      • getDataSerializableFactoryClasses

        public java.util.Map<java.lang.Integer,​java.lang.String> getDataSerializableFactoryClasses()
        Returns:
        map of factory ID and corresponding factory class names
        See Also:
        DataSerializableFactory
      • setDataSerializableFactoryClasses

        public SerializationConfig setDataSerializableFactoryClasses​(java.util.Map<java.lang.Integer,​java.lang.String> dataSerializableFactoryClasses)
        Parameters:
        dataSerializableFactoryClasses - map of factory ID and corresponding factory class names
        Returns:
        configured SerializerConfig for chaining
        See Also:
        DataSerializableFactory
      • addDataSerializableFactoryClass

        public SerializationConfig addDataSerializableFactoryClass​(int factoryId,
                                                                   java.lang.String dataSerializableFactoryClass)
        Parameters:
        factoryId - factory ID of dataSerializableFactory to be registered
        dataSerializableFactoryClass - name of dataSerializableFactory class to be registered
        Returns:
        configured SerializerConfig for chaining
        See Also:
        DataSerializableFactory
      • addDataSerializableFactoryClass

        public SerializationConfig addDataSerializableFactoryClass​(int factoryId,
                                                                   java.lang.Class<? extends DataSerializableFactory> dataSerializableFactoryClass)
        Parameters:
        factoryId - factory ID of dataSerializableFactory to be registered
        dataSerializableFactoryClass - dataSerializableFactory class to be registered
        Returns:
        configured SerializerConfig for chaining
        See Also:
        DataSerializableFactory
      • getDataSerializableFactories

        public java.util.Map<java.lang.Integer,​DataSerializableFactory> getDataSerializableFactories()
        Returns:
        map of factory ID and corresponding dataSerializable factories
        See Also:
        DataSerializableFactory
      • getPortableFactoryClasses

        public java.util.Map<java.lang.Integer,​java.lang.String> getPortableFactoryClasses()
        Returns:
        map of factory ID and corresponding portable factory names
        See Also:
        PortableFactory
      • setPortableFactoryClasses

        public SerializationConfig setPortableFactoryClasses​(java.util.Map<java.lang.Integer,​java.lang.String> portableFactoryClasses)
        Parameters:
        portableFactoryClasses - map of factory ID and corresponding factory class names
        Returns:
        configured SerializerConfig for chaining
        See Also:
        PortableFactory
      • addPortableFactoryClass

        public SerializationConfig addPortableFactoryClass​(int factoryId,
                                                           java.lang.Class<? extends PortableFactory> portableFactoryClass)
        Parameters:
        factoryId - factory ID of portableFactory to be registered
        portableFactoryClass - portableFactory class to be registered
        Returns:
        configured SerializerConfig for chaining
        See Also:
        PortableFactory
      • addPortableFactoryClass

        public SerializationConfig addPortableFactoryClass​(int factoryId,
                                                           java.lang.String portableFactoryClass)
        Parameters:
        factoryId - factory ID of portableFactory to be registered
        portableFactoryClass - name of the portableFactory class to be registered
        Returns:
        configured SerializerConfig for chaining
        See Also:
        PortableFactory
      • getPortableFactories

        public java.util.Map<java.lang.Integer,​PortableFactory> getPortableFactories()
        Returns:
        map of factory ID and corresponding portable factories
        See Also:
        PortableFactory
      • addPortableFactory

        public SerializationConfig addPortableFactory​(int factoryId,
                                                      PortableFactory portableFactory)
        Parameters:
        factoryId - factory ID of portableFactory to be registered
        portableFactory - portableFactory object to be registered
        Returns:
        configured SerializerConfig for chaining
        See Also:
        PortableFactory
      • getClassDefinitions

        public java.util.Set<ClassDefinition> getClassDefinitions()
        Returns:
        registered class definitions of portable classes
        See Also:
        ClassDefinition
      • isCheckClassDefErrors

        public boolean isCheckClassDefErrors()
        Default value is true (enabled). When enabled, serialization system will check for class definitions error at start and throw an Serialization Exception with error definition.
        Returns:
        true if enabled, false otherwise
      • setCheckClassDefErrors

        public SerializationConfig setCheckClassDefErrors​(boolean checkClassDefErrors)
        When enabled, serialization system will check for class definitions error at start and throw an Serialization Exception with error definition.
        Parameters:
        checkClassDefErrors - set to false to disable
        Returns:
        configured SerializerConfig for chaining
      • isUseNativeByteOrder

        public boolean isUseNativeByteOrder()
        Returns:
        true if serialization is configured to use native byte order of the underlying platform
      • setUseNativeByteOrder

        public SerializationConfig setUseNativeByteOrder​(boolean useNativeByteOrder)
        Parameters:
        useNativeByteOrder - set to true to use native byte order of the underlying platform
        Returns:
        configured SerializerConfig for chaining
      • getByteOrder

        public java.nio.ByteOrder getByteOrder()
        Note that result of useNativeByteOrder is not reflected to return value of this method.
        Returns:
        configured byte order
      • setByteOrder

        public SerializationConfig setByteOrder​(java.nio.ByteOrder byteOrder)
        Note that configuring use native byte order as enabled will override the byte order set by this method.
        Parameters:
        byteOrder - that serialization will use
        Returns:
        configured SerializerConfig for chaining
      • isEnableCompression

        public boolean isEnableCompression()
        Enables compression when default java serialization is used.
        Returns:
        true if compression enabled
      • setEnableCompression

        public SerializationConfig setEnableCompression​(boolean enableCompression)
        Enables compression when default java serialization is used.
        Parameters:
        enableCompression - set to true to enable compression
        Returns:
        configured SerializerConfig for chaining
      • isEnableSharedObject

        public boolean isEnableSharedObject()
        Enables shared object when default java serialization is used.

        Default value is true.

        Returns:
        true if enabled
      • setEnableSharedObject

        public SerializationConfig setEnableSharedObject​(boolean enableSharedObject)
        Enables shared object when default java serialization is used.
        Parameters:
        enableSharedObject - set to false to disable
        Returns:
        configured SerializerConfig for chaining
      • isAllowUnsafe

        public boolean isAllowUnsafe()
        Unsafe, it is not public api of java. Use with caution!

        Default value is false.

        Returns:
        true if using unsafe is allowed, false otherwise
      • setAllowUnsafe

        public SerializationConfig setAllowUnsafe​(boolean allowUnsafe)
        Unsafe, it is not public api of java. Use with caution!
        Parameters:
        allowUnsafe - set to true to allow usage of unsafe
        Returns:
        configured SerializerConfig for chaining
      • isAllowOverrideDefaultSerializers

        public boolean isAllowOverrideDefaultSerializers()
        Returns:
        true if default serializers may be overridden by custom serializers
        Since:
        4.2
      • setAllowOverrideDefaultSerializers

        public SerializationConfig setAllowOverrideDefaultSerializers​(boolean allowOverrideDefaultSerializers)
        This configuration should be used cautiously.

        Default serializers are used heavily by the hazelcast internally. If any of the instance in the same cluster overrides a default serializer, all the members and clients in the same cluster must override it with the same serializer.

        This configuration is introduced specifically to support the following case:

        • There was a custom configuration by the user for a type
        • Hazelcast decided to add a default serializer for the same type in a future release

        To be able to support Rolling Upgrade from an old version to the new version, one needs to make sure of the backward compatibility of the serialization. As a solution, the user will set this property on the new version so that new instances will be able to override new default serializers with their existing custom serializers.

        Parameters:
        allowOverrideDefaultSerializers - value to set
        Returns:
        configured SerializerConfig for chaining
        Since:
        4.2
      • getJavaSerializationFilterConfig

        public JavaSerializationFilterConfig getJavaSerializationFilterConfig()
        Returns:
        the javaSerializationFilterConfig
      • setJavaSerializationFilterConfig

        public SerializationConfig setJavaSerializationFilterConfig​(JavaSerializationFilterConfig javaSerializationFilterConfig)
        Allows to configure deserialization protection filter.
        Parameters:
        javaSerializationFilterConfig - the javaSerializationFilterConfig to set (may be null)
      • getCompactSerializationConfig

        public CompactSerializationConfig getCompactSerializationConfig()
        Returns:
        compact serialization config
        Since:
        5.2
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object