public static void main(String[] args) { Config config = new Config(); config.getSerializationConfig() .addPortableFactory(SamplePortableFactory.FACTORY_ID, new SamplePortableFactory()); // Start the Embedded Hazelcast Cluster Member. HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); //Customer can be used here hz.shutdown(); } }
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); }
protected SerializationConfig parseSerialization(final Node node) { SerializationConfig serializationConfig = new SerializationConfig(); for (Node child : childElements(node)) { final String name = cleanNodeName(child); if ("portable-version".equals(name)) { String value = getTextContent(child); serializationConfig.setPortableVersion(getIntegerValue(name, value)); } else if ("check-class-def-errors".equals(name)) { String value = getTextContent(child); serializationConfig.setCheckClassDefErrors(getBooleanValue(value)); } else if ("use-native-byte-order".equals(name)) { serializationConfig.setUseNativeByteOrder(getBooleanValue(getTextContent(child))); } else if ("byte-order".equals(name)) { String value = getTextContent(child); byteOrder = ByteOrder.LITTLE_ENDIAN; serializationConfig.setByteOrder(byteOrder != null ? byteOrder : ByteOrder.BIG_ENDIAN); } else if ("enable-compression".equals(name)) { serializationConfig.setEnableCompression(getBooleanValue(getTextContent(child))); } else if ("enable-shared-object".equals(name)) { serializationConfig.setEnableSharedObject(getBooleanValue(getTextContent(child))); } else if ("allow-unsafe".equals(name)) { serializationConfig.setAllowUnsafe(getBooleanValue(getTextContent(child))); } else if ("data-serializable-factories".equals(name)) { fillDataSerializableFactories(child, serializationConfig);
private static SerializationConfig createSerializationConfig() { SerializationConfig serializationConfig = new SerializationConfig(); if (useNativeMemorySerialization) { serializationConfig = serializationConfig // use native memory (off-heap) based storage for holding byte stream .setAllowUnsafe(true) // use native byte order of JVM/OS to prevent extra byte order convertions .setUseNativeByteOrder(true); } return serializationConfig; }
.node("portable-version", c.getPortableVersion()) .node("use-native-byte-order", c.isUseNativeByteOrder()) .node("byte-order", c.getByteOrder()) .node("enable-compression", c.isEnableCompression()) .node("enable-shared-object", c.isEnableSharedObject()) .node("allow-unsafe", c.isAllowUnsafe()); Map<Integer, String> dsfClasses = c.getDataSerializableFactoryClasses(); Map<Integer, DataSerializableFactory> dsfImpls = c.getDataSerializableFactories(); if (!MapUtil.isNullOrEmpty(dsfClasses) || !MapUtil.isNullOrEmpty(dsfImpls)) { gen.open("data-serializable-factories"); Map<Integer, String> portableClasses = c.getPortableFactoryClasses(); Map<Integer, PortableFactory> portableImpls = c.getPortableFactories(); if (!MapUtil.isNullOrEmpty(portableClasses) || !MapUtil.isNullOrEmpty(portableImpls)) { gen.open("portable-factories"); Collection<SerializerConfig> serializers = c.getSerializerConfigs(); GlobalSerializerConfig globalSerializerConfig = c.getGlobalSerializerConfig(); if (CollectionUtil.isNotEmpty(serializers) || globalSerializerConfig != null) { gen.open("serializers"); gen.node("check-class-def-errors", c.isCheckClassDefErrors()); JavaSerializationFilterConfig javaSerializationFilterConfig = c.getJavaSerializationFilterConfig(); if (javaSerializationFilterConfig != null) { gen.open("java-serialization-filter", "defaults-disabled", javaSerializationFilterConfig.isDefaultsDisabled());
public static void main(String[] args) { // configure hazelcast serializers to use provided serializer for protobuf SerializerConfig personProtoSerializerConfig = new SerializerConfig() .setTypeClass(Person.class) .setImplementation(new PersonProtoSerializer()); Config config = new Config(); config.getSerializationConfig().addSerializerConfig(personProtoSerializerConfig); // uncomment the following line if you wish to use XML config instead of programmatic configuration // config = new com.hazelcast.config.XmlConfigBuilder().build(); HazelcastInstance hazelcastInstance = newHazelcastInstance(config); IMap<Integer, Person> personsMap = hazelcastInstance.getMap("person"); populate(personsMap); // test member-side serialization System.out.println("---- where email is support@hazelcast.com"); System.out.println(personsMap.values(equal("email", "support@hazelcast.com"))); System.out.println("---- where email is not support@hazelcast.com"); System.out.println(personsMap.values(new SqlPredicate("email != support@hazelcast.com"))); }
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); } } }
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(); } }
/** * @param serializerConfig serializer configuration of a class type * @return configured {@link com.hazelcast.config.SerializerConfig} for chaining */ public SerializationConfig addSerializerConfig(SerializerConfig serializerConfig) { getSerializerConfigs().add(serializerConfig); return this; }
/** * Set up serialization configuration. * * @param config */ public static void performSerializationOverrides(Config config) { SerializationConfig serial = config.getSerializationConfig(); if (serial == null) { serial = new SerializationConfig(); config.setSerializationConfig(serial); } config.setSerializationConfig(null); }
addConfigDataSerializableFactories(dataSerializableFactories, config, classLoader); addConfigPortableFactories(portableFactories, config, classLoader); classDefinitions.addAll(config.getClassDefinitions()); if (config.getGlobalSerializerConfig() != null) { GlobalSerializerConfig globalSerializerConfig = config.getGlobalSerializerConfig(); Serializer serializer = globalSerializerConfig.getImplementation(); if (serializer == null) {
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(); } }
@Test public void givenGlobalSerializerConfigDoesNotExist_whenUseAsGlobalSerializer_thenNewSubZeroIsUsedAsGlobalSerializer() { Config config = new Config(); SubZero.useAsGlobalSerializer(config); assertEquals(Serializer.class.getName(), config.getSerializationConfig().getGlobalSerializerConfig().getClassName()); }
.node("portable-version", c.getPortableVersion()) .node("use-native-byte-order", c.isUseNativeByteOrder()) .node("byte-order", c.getByteOrder()) .node("enable-compression", c.isEnableCompression()) .node("enable-shared-object", c.isEnableSharedObject()) .node("allow-unsafe", c.isAllowUnsafe()); Map<Integer, String> dsfClasses = c.getDataSerializableFactoryClasses(); Map<Integer, DataSerializableFactory> dsfImpls = c.getDataSerializableFactories(); if (!MapUtil.isNullOrEmpty(dsfClasses) || !MapUtil.isNullOrEmpty(dsfImpls)) { gen.open("data-serializable-factories"); Map<Integer, String> portableClasses = c.getPortableFactoryClasses(); Map<Integer, PortableFactory> portableImpls = c.getPortableFactories(); if (!MapUtil.isNullOrEmpty(portableClasses) || !MapUtil.isNullOrEmpty(portableImpls)) { gen.open("portable-factories"); Collection<SerializerConfig> serializers = c.getSerializerConfigs(); GlobalSerializerConfig globalSerializerConfig = c.getGlobalSerializerConfig(); if (CollectionUtil.isNotEmpty(serializers) || globalSerializerConfig != null) { gen.open("serializers"); gen.node("check-class-def-errors", c.isCheckClassDefErrors()); JavaSerializationFilterConfig javaSerializationFilterConfig = c.getJavaSerializationFilterConfig(); if (javaSerializationFilterConfig != null) { gen.open("java-serialization-filter", "defaults-disabled", javaSerializationFilterConfig.isDefaultsDisabled());
public static void main(String[] args) { Config config = new Config(); config.getSerializationConfig().addSerializerConfig(new SerializerConfig() .setImplementation(new CustomSerializer()) .setTypeClass(CustomSerializable.class)); // Start the Embedded Hazelcast Cluster Member. HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); //CustomSerializer will serialize/deserialize CustomSerializable objects 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); } } }
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(); } }
/** * @param serializerConfig serializer configuration of a class type * @return configured {@link com.hazelcast.config.SerializerConfig} for chaining */ public SerializationConfig addSerializerConfig(SerializerConfig serializerConfig) { getSerializerConfigs().add(serializerConfig); return this; }
serializationConfig = new SerializationConfig(config.serializationConfig); nativeMemoryConfig = new NativeMemoryConfig(config.nativeMemoryConfig); proxyFactoryConfigs = new LinkedList<ProxyFactoryConfig>();
addConfigDataSerializableFactories(dataSerializableFactories, config, classLoader); addConfigPortableFactories(portableFactories, config, classLoader); classDefinitions.addAll(config.getClassDefinitions()); if (config.getGlobalSerializerConfig() != null) { GlobalSerializerConfig globalSerializerConfig = config.getGlobalSerializerConfig(); Serializer serializer = globalSerializerConfig.getImplementation(); if (serializer == null) {