public SerializationConfig(SerializationConfig serializationConfig) { portableVersion = serializationConfig.portableVersion; dataSerializableFactoryClasses = new HashMap<Integer, String>(serializationConfig.dataSerializableFactoryClasses); dataSerializableFactories = new HashMap<Integer, DataSerializableFactory>(serializationConfig.dataSerializableFactories); portableFactoryClasses = new HashMap<Integer, String>(serializationConfig.portableFactoryClasses); portableFactories = new HashMap<Integer, PortableFactory>(serializationConfig.portableFactories); globalSerializerConfig = serializationConfig.globalSerializerConfig == null ? null : new GlobalSerializerConfig(serializationConfig.globalSerializerConfig); serializerConfigs = new LinkedList<SerializerConfig>(); for (SerializerConfig serializerConfig : serializationConfig.serializerConfigs) { serializerConfigs.add(new SerializerConfig(serializerConfig)); } checkClassDefErrors = serializationConfig.checkClassDefErrors; useNativeByteOrder = serializationConfig.useNativeByteOrder; byteOrder = serializationConfig.byteOrder; enableCompression = serializationConfig.enableCompression; enableSharedObject = serializationConfig.enableSharedObject; allowUnsafe = serializationConfig.allowUnsafe; classDefinitions = new HashSet<ClassDefinition>(serializationConfig.classDefinitions); javaSerializationFilterConfig = serializationConfig.javaSerializationFilterConfig == null ? null : new JavaSerializationFilterConfig(serializationConfig.javaSerializationFilterConfig); }
private static void injectSubZero(SerializationConfig serializationConfig, Class<? extends AbstractSerializer> serializerClazz) { GlobalSerializerConfig globalSerializerConfig = serializationConfig.getGlobalSerializerConfig(); if (globalSerializerConfig == null) { globalSerializerConfig = new GlobalSerializerConfig(); serializationConfig.setGlobalSerializerConfig(globalSerializerConfig); } globalSerializerConfig.setClassName(serializerClazz.getName()).setOverrideJavaSerialization(true); }
public static void main(String[] args) { Config config = new Config(); config.getSerializationConfig().setGlobalSerializerConfig( new GlobalSerializerConfig().setImplementation(new GlobalSerializer()) ); // Start the Embedded Hazelcast Cluster Member. HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); //GlobalSerializer will serialize/deserialize all non-builtin types hz.shutdown(); } }
public static void main(String[] args) { ClientConfig clientConfig = new ClientConfig(); clientConfig.getSerializationConfig().setGlobalSerializerConfig( new GlobalSerializerConfig().setImplementation(new GlobalSerializer()) ); // Start the Hazelcast Client and connect to an already running Hazelcast Cluster on 127.0.0.1 HazelcastInstance hz = HazelcastClient.newHazelcastClient(clientConfig); //GlobalSerializer will serialize/deserialize all non-builtin types hz.shutdown(); } }
protected void fillSerializers(final Node node, SerializationConfig serializationConfig) { for (Node child : childElements(node)) { final String name = cleanNodeName(child); final String value = getTextContent(child); if ("serializer".equals(name)) { SerializerConfig serializerConfig = new SerializerConfig(); final String typeClassName = getAttribute(child, "type-class"); final String className = getAttribute(child, "class-name"); serializerConfig.setTypeClassName(typeClassName); serializerConfig.setClassName(className); serializationConfig.addSerializerConfig(serializerConfig); } else if ("global-serializer".equals(name)) { GlobalSerializerConfig globalSerializerConfig = new GlobalSerializerConfig(); globalSerializerConfig.setClassName(value); String attrValue = getAttribute(child, "override-java-serialization"); boolean overrideJavaSerialization = attrValue != null && getBooleanValue(attrValue.trim()); globalSerializerConfig.setOverrideJavaSerialization(overrideJavaSerialization); serializationConfig.setGlobalSerializerConfig(globalSerializerConfig); } } }
protected void fillSerializers(final Node node, SerializationConfig serializationConfig) { for (Node child : childElements(node)) { final String name = cleanNodeName(child); final String value = getTextContent(child); if ("serializer".equals(name)) { SerializerConfig serializerConfig = new SerializerConfig(); final String typeClassName = getAttribute(child, "type-class"); final String className = getAttribute(child, "class-name"); serializerConfig.setTypeClassName(typeClassName); serializerConfig.setClassName(className); serializationConfig.addSerializerConfig(serializerConfig); } else if ("global-serializer".equals(name)) { GlobalSerializerConfig globalSerializerConfig = new GlobalSerializerConfig(); globalSerializerConfig.setClassName(value); String attrValue = getAttribute(child, "override-java-serialization"); boolean overrideJavaSerialization = attrValue != null && getBooleanValue(attrValue.trim()); globalSerializerConfig.setOverrideJavaSerialization(overrideJavaSerialization); serializationConfig.setGlobalSerializerConfig(globalSerializerConfig); } } }
@Test public void givenGlobalSerializerConfigDoes_whenUseAsGlobalSerializer_thenNewSubZeroIsUsedAsGlobalSerializer() { Config config = new Config(); config.getSerializationConfig().setGlobalSerializerConfig(new GlobalSerializerConfig().setClassName("foo")); SubZero.useAsGlobalSerializer(config); assertEquals(Serializer.class.getName(), config.getSerializationConfig().getGlobalSerializerConfig().getClassName()); }