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(); } }
private static void serializers(XmlGenerator gen, SerializationConfig serialization) { GlobalSerializerConfig global = serialization.getGlobalSerializerConfig(); Collection<SerializerConfig> serializers = serialization.getSerializerConfigs(); if (global != null || !serializers.isEmpty()) { gen.open("serializers"); if (global != null) { gen.node("global-serializer", classNameOrImplClass(global.getClassName(), global.getImplementation()), "override-java-serialization", global.isOverrideJavaSerialization()); } for (SerializerConfig serializer : serializers) { gen.node("serializer", null, "type-class", classNameOrImplClass(serializer.getTypeClassName(), serializer.getTypeClass()), "class-name", classNameOrImplClass(serializer.getClassName(), serializer.getImplementation())); } //close serializers gen.close(); } }
@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()); }
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); }
@Test public void givenGlobalSerializerConfigDoesNotExist_whenUseAsGlobalSerializer_thenNewSubZeroIsUsedAsGlobalSerializer() { Config config = new Config(); SubZero.useAsGlobalSerializer(config); assertEquals(Serializer.class.getName(), config.getSerializationConfig().getGlobalSerializerConfig().getClassName()); }
private static void serializers(XmlGenerator gen, SerializationConfig serialization) { GlobalSerializerConfig global = serialization.getGlobalSerializerConfig(); Collection<SerializerConfig> serializers = serialization.getSerializerConfigs(); if (global != null || !serializers.isEmpty()) { gen.open("serializers"); if (global != null) { gen.node("global-serializer", classNameOrImplClass(global.getClassName(), global.getImplementation()), "override-java-serialization", global.isOverrideJavaSerialization()); } for (SerializerConfig serializer : serializers) { gen.node("serializer", null, "type-class", classNameOrImplClass(serializer.getTypeClassName(), serializer.getTypeClass()), "class-name", classNameOrImplClass(serializer.getClassName(), serializer.getImplementation())); } //close serializers gen.close(); } }
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); } } }
if (config.getGlobalSerializerConfig() != null) { GlobalSerializerConfig globalSerializerConfig = config.getGlobalSerializerConfig(); Serializer serializer = globalSerializerConfig.getImplementation(); if (serializer == null) { try { serializer = ClassLoaderUtil.newInstance(classLoader, globalSerializerConfig.getClassName()); } catch (Exception e) { throw new HazelcastSerializationException(e); .registerGlobal(serializer, globalSerializerConfig.isOverrideJavaSerialization());
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); } } }
if (config.getGlobalSerializerConfig() != null) { GlobalSerializerConfig globalSerializerConfig = config.getGlobalSerializerConfig(); Serializer serializer = globalSerializerConfig.getImplementation(); if (serializer == null) { try { serializer = ClassLoaderUtil.newInstance(classLoader, globalSerializerConfig.getClassName()); } catch (Exception e) { throw new HazelcastSerializationException(e); .registerGlobal(serializer, globalSerializerConfig.isOverrideJavaSerialization());
gen.node("global-serializer", classNameOrImplClass( globalSerializerConfig.getClassName(), globalSerializerConfig.getImplementation()), "override-java-serialization", globalSerializerConfig.isOverrideJavaSerialization());
gen.node("global-serializer", classNameOrImplClass( globalSerializerConfig.getClassName(), globalSerializerConfig.getImplementation()), "override-java-serialization", globalSerializerConfig.isOverrideJavaSerialization());