/** * Hazelcast config config. * * @return the config */ @Bean public Config hazelcastConfig() { return new Config().setProperty("hazelcast.jmx", "true") .addMapConfig(new MapConfig("spring-boot-admin-application-store").setBackupCount(1) .setEvictionPolicy(EvictionPolicy.NONE)) .addListConfig(new ListConfig("spring-boot-admin-event-store").setBackupCount(1) .setMaxSize(1000)); }
private IMap<String, Long> getMap(String key, int longestDuration) { MapConfig mapConfig = hz.getConfig().getMapConfig(key); mapConfig.setTimeToLiveSeconds(longestDuration); mapConfig.setAsyncBackupCount(1); mapConfig.setBackupCount(0); return hz.getMap(key); }
public static void main(String[] args) { Config config = new Config(); config.getMapConfig("map0").setBackupCount(0); config.getMapConfig("map1").setBackupCount(1);
static <K, V> IMap<K, V> getMap(HazelcastInstance instance, String mapFQName, StreamConfig streamConfig, MapStoreConfig mapStoreConfig) { final MapConfig mapConfig = new MapConfig(mapFQName) .setBackupCount(streamConfig.getSyncReplicas()) .setAsyncBackupCount(streamConfig.getAsyncReplicas()) .setMapStoreConfig(mapStoreConfig); instance.getConfig().addMapConfig(mapConfig); return instance.getMap(mapFQName); } }
private static MapConfig createMapConfig(String mapName) { MapConfig mapConfig = new MapConfig(mapName); mapConfig.setInMemoryFormat(InMemoryFormat.OBJECT); mapConfig.setBackupCount(1); mapConfig.setEvictionPolicy(EvictionPolicy.NONE); mapConfig.setMaxSizeConfig(new MaxSizeConfig(0, MaxSizePolicy.PER_NODE)); mapConfig.setEvictionPercentage(0); mapConfig.setMergePolicy("com.hazelcast.map.merge.PutIfAbsentMapMergePolicy"); return mapConfig; }
public static void main(String[] args) throws Exception { // for a custom merge policy we have to provide the FQCN, not just the simple classname MergePolicyConfig mergePolicyConfig = new MergePolicyConfig() .setPolicy(UserContextMergePolicy.class.getName()); MapConfig mapConfig = new MapConfig() .setName(MAP_NAME) .setInMemoryFormat(InMemoryFormat.BINARY) .setBackupCount(1) .setAsyncBackupCount(0) .setMergePolicyConfig(mergePolicyConfig); // we use the user context to provide access to our TruthProvider in the merge policy ConcurrentMap<String, Object> userContext = new ConcurrentHashMap<String, Object>(); userContext.put(TRUTH_PROVIDER_ID, new ExampleTruthProvider()); final Config config = new Config() //.setProperty("hazelcast.logging.type", "none") .addMapConfig(mapConfig) .setUserContext(userContext); HazelcastInstanceFactory.newHazelcastInstance(config); Hazelcast.shutdownAll(); }
private void setupMapConfig(String name, int size) { MapConfig cfg = new MapConfig(NODE_CACHE); cfg.setMaxSizeConfig(new MaxSizeConfig(size, MaxSizeConfig.MaxSizePolicy.PER_PARTITION)); cfg.setAsyncBackupCount(1); cfg.setBackupCount(0); cfg.setEvictionPolicy(MapConfig.EvictionPolicy.LRU); cfg.setMaxIdleSeconds(600); // 10 minutes cfg.setTimeToLiveSeconds(3600); // 1 hour hcConfiguration.addMapConfig(cfg); }
private void setupMapConfig(String name, int size) { MapConfig cfg = new MapConfig(NODE_CACHE); cfg.setMaxSizeConfig(new MaxSizeConfig(size, MaxSizeConfig.MaxSizePolicy.PER_PARTITION)); cfg.setAsyncBackupCount(1); cfg.setBackupCount(0); cfg.setEvictionPolicy(MapConfig.EvictionPolicy.LRU); cfg.setMaxIdleSeconds(600); // 10 minutes cfg.setTimeToLiveSeconds(3600); // 1 hour hcConfiguration.addMapConfig(cfg); }
public static void main(String[] args) { // for a custom merge policy we have to provide the FQCN, not just the simple classname MergePolicyConfig mergePolicyConfig = new MergePolicyConfig() .setPolicy(ComposedHitsAndCreationTimeMergePolicy.class.getName()); MapConfig mapConfig = new MapConfig() .setName(MAP_NAME) .setInMemoryFormat(InMemoryFormat.BINARY) .setBackupCount(1) .setAsyncBackupCount(0) .setMergePolicyConfig(mergePolicyConfig); final Config config = new Config() //.setProperty("hazelcast.logging.type", "none") .addMapConfig(mapConfig); HazelcastInstanceFactory.newHazelcastInstance(config); Hazelcast.shutdownAll(); } }
public static void main(String[] args) { // Start a member with no explicit configuration HazelcastInstance instance = Hazelcast.newHazelcastInstance(); ILogger logger = instance.getLoggingService().getLogger(ClientDynamicConfig.class); // Start a client -- we will be using the map to access & configure data structures HazelcastInstance client = HazelcastClient.newHazelcastClient(); // Obtain a map IMap<String, String> defaultMap = client.getMap("defaultMap"); // no data has been added yet, so get("1") will return null logger.info("defaultMap[\"1\"] = " + defaultMap.get("1")); // Another application will be using a map with a map loader and no backups // Wildcards also work for dynamically added data structure configurations MapConfig mapWithLoaderConfig = new MapConfig("map-with-loader-*").setBackupCount(0); mapWithLoaderConfig.getMapStoreConfig() .setEnabled(true) .setInitialLoadMode(EAGER) .setClassName("EchoMapLoader"); // add the configuration to the already running member client.getConfig().addMapConfig(mapWithLoaderConfig); IMap<String, String> mapWithLoader1 = client.getMap("map-with-loader-1"); logger.info("mapWithLoader1[\"1\"] = " + mapWithLoader1.get("1") + " (loaded from configured map loader)"); client.shutdown(); instance.shutdown(); }
cfg.setBackupCount(buConf.getInt(HazelcastProperties.BACKUP_COUNT)); cfg.setMergePolicy("hz.LATEST_UPDATE");
public static void main(String[] args) { // Start a member with no explicit configuration HazelcastInstance instance = Hazelcast.newHazelcastInstance(); ILogger logger = instance.getLoggingService().getLogger(MemberDynamicConfig.class); // Obtain a map IMap<String, String> defaultMap = instance.getMap("defaultMap"); // Inspect its config: default is 1 sync backup MapConfig defaultMapConfig = instance.getConfig().getMapConfig("defaultMap"); logger.info("Map \"defaultMapConfig\" has backup count " + defaultMapConfig.getBackupCount()); logger.info("defaultMap[\"1\"] = " + defaultMap.get("1")); // Another application will be using a map with a map loader and no backups // Note that wildcards also work for dynamically added data structure configurations MapConfig mapWithLoaderConfig = new MapConfig("map-with-loader-*").setBackupCount(0); mapWithLoaderConfig.getMapStoreConfig() .setEnabled(true) .setInitialLoadMode(EAGER) .setClassName("EchoMapLoader"); // add the configuration to the already running member instance.getConfig().addMapConfig(mapWithLoaderConfig); IMap<String, String> mapWithLoader1 = instance.getMap("map-with-loader-1"); MapConfig mapWithLoader1Config = instance.getConfig().getMapConfig("map-with-loader-1"); logger.info("Map \"mapWithLoader1\" has backup count " + mapWithLoader1Config.getBackupCount()); logger.info("mapWithLoader1[\"1\"] = " + mapWithLoader1.get("1") + " (loaded from configured map loader)"); instance.shutdown(); } }
.setBackupCount(jetConfig.getInstanceConfig().getBackupCount()) .setStatisticsEnabled(false); metadataMapConfig.getMergePolicyConfig().setPolicy(IgnoreMergingEntryMapMergePolicy.class.getName());
/** * Build map config map config. * * @param hz the hz * @param mapName the storage name * @param timeoutSeconds the timeoutSeconds * @return the map config */ public MapConfig buildMapConfig(final BaseHazelcastProperties hz, final String mapName, final long timeoutSeconds) { val cluster = hz.getCluster(); val evictionPolicy = EvictionPolicy.valueOf(cluster.getEvictionPolicy()); LOGGER.debug("Creating Hazelcast map configuration for [{}] with idle timeoutSeconds [{}] second(s)", mapName, timeoutSeconds); val maxSizeConfig = new MaxSizeConfig() .setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.valueOf(cluster.getMaxSizePolicy())) .setSize(cluster.getMaxHeapSizePercentage()); return new MapConfig() .setName(mapName) .setMaxIdleSeconds((int) timeoutSeconds) .setBackupCount(cluster.getBackupCount()) .setAsyncBackupCount(cluster.getAsyncBackupCount()) .setEvictionPolicy(evictionPolicy) .setMaxSizeConfig(maxSizeConfig); }
@Override public void run() throws Exception { MapService service = getService(); MapConfig oldConfig = service.getMapServiceContext().getMapContainer(mapName).getMapConfig(); MapConfig newConfig = new MapConfig(oldConfig); newConfig.setTimeToLiveSeconds(mapConfig.getTimeToLiveSeconds()); newConfig.setMaxIdleSeconds(mapConfig.getMaxIdleSeconds()); newConfig.setEvictionPolicy(mapConfig.getEvictionPolicy()); newConfig.setEvictionPercentage(mapConfig.getEvictionPercentage()); newConfig.setMinEvictionCheckMillis(mapConfig.getMinEvictionCheckMillis()); newConfig.setReadBackupData(mapConfig.isReadBackupData()); newConfig.setBackupCount(mapConfig.getBackupCount()); newConfig.setAsyncBackupCount(mapConfig.getAsyncBackupCount()); newConfig.setMaxSizeConfig(mapConfig.getMaxSizeConfig()); MapContainer mapContainer = service.getMapServiceContext().getMapContainer(mapName); mapContainer.setMapConfig(newConfig.getAsReadOnly()); mapContainer.initEvictor(); }
@BeforeClass public static void initialSetup() throws UnknownHostException { Config config = new Config(); config.getMapConfig("default").setBackupCount(1).setAsyncBackupCount(0); HazelcastInstance h1 = HazelcastInstanceFactory.newHazelcastInstance(new Config()); HazelcastInstance h2 = HazelcastInstanceFactory.newHazelcastInstance(new Config()); // Create a nullblobstore to add to the memory blobstore NullBlobStore nbs = new NullBlobStore(); mem1 = new MemoryBlobStore(); mem1.setStore(nbs); cache1 = new HazelcastCacheProvider(h1.getMap("map1"), 16); mem1.setCacheProvider(cache1); mem2 = new MemoryBlobStore(); mem2.setStore(nbs); cache2 = new HazelcastCacheProvider(h2.getMap("map1"), 16); mem2.setCacheProvider(cache2); // Ensure both the caches are available and immutable assertTrue(HazelcastCacheProviderTest.cache1.isAvailable()); assertTrue(HazelcastCacheProviderTest.cache1.isImmutable()); assertTrue(HazelcastCacheProviderTest.cache2.isAvailable()); assertTrue(HazelcastCacheProviderTest.cache2.isImmutable()); }
@Override public void fromJson(JsonObject json) { config = new MapConfig(); config.setName(getString(json, "name")); config.setInMemoryFormat(InMemoryFormat.valueOf(getString(json, "memoryFormat"))); config.setBackupCount(getInt(json, "backupCount")); config.setAsyncBackupCount(getInt(json, "asyncBackupCount")); config.setEvictionPercentage(getInt(json, "evictionPercentage")); config.setMinEvictionCheckMillis(getLong(json, "minEvictionCheckMillis")); config.setTimeToLiveSeconds(getInt(json, "ttl")); config.setMaxIdleSeconds(getInt(json, "maxIdle")); config.setMaxSizeConfig(new MaxSizeConfig().setSize(getInt(json, "maxSize")) .setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.valueOf(getString(json, "maxSizePolicy")))); config.setReadBackupData(getBoolean(json, "readBackupData")); config.setEvictionPolicy(EvictionPolicy.valueOf(getString(json, "evictionPolicy"))); config.setMergePolicy(getString(json, "mergePolicy")); }
@Override public void fromJson(JsonObject json) { config = new MapConfig(); config.setName(getString(json, "name")); config.setInMemoryFormat(InMemoryFormat.valueOf(getString(json, "memoryFormat"))); config.setBackupCount(getInt(json, "backupCount")); config.setAsyncBackupCount(getInt(json, "asyncBackupCount")); config.setEvictionPercentage(getInt(json, "evictionPercentage")); config.setMinEvictionCheckMillis(getLong(json, "minEvictionCheckMillis")); config.setTimeToLiveSeconds(getInt(json, "ttl")); config.setMaxIdleSeconds(getInt(json, "maxIdle")); config.setMaxSizeConfig(new MaxSizeConfig().setSize(getInt(json, "maxSize")) .setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.valueOf(getString(json, "maxSizePolicy")))); config.setReadBackupData(getBoolean(json, "readBackupData")); config.setEvictionPolicy(EvictionPolicy.valueOf(getString(json, "evictionPolicy"))); config.setMergePolicy(getString(json, "mergePolicy")); }
@Override public void readData(ObjectDataInput in) throws IOException { config = new MapConfig(); config.setName(in.readUTF()); config.setInMemoryFormat(InMemoryFormat.valueOf(in.readUTF())); config.setBackupCount(in.readInt()); config.setAsyncBackupCount(in.readInt()); config.setEvictionPercentage(in.readInt()); config.setMinEvictionCheckMillis(in.readLong()); config.setTimeToLiveSeconds(in.readInt()); config.setMaxIdleSeconds(in.readInt()); config.setMaxSizeConfig( new MaxSizeConfig() .setSize(in.readInt()) .setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.valueOf(in.readUTF()))); config.setReadBackupData(in.readBoolean()); config.setEvictionPolicy(EvictionPolicy.valueOf(in.readUTF())); config.setMergePolicy(in.readUTF()); }
@Override public void readData(ObjectDataInput in) throws IOException { config = new MapConfig(); config.setName(in.readUTF()); config.setInMemoryFormat(InMemoryFormat.valueOf(in.readUTF())); config.setBackupCount(in.readInt()); config.setAsyncBackupCount(in.readInt()); config.setEvictionPercentage(in.readInt()); config.setMinEvictionCheckMillis(in.readLong()); config.setTimeToLiveSeconds(in.readInt()); config.setMaxIdleSeconds(in.readInt()); config.setMaxSizeConfig( new MaxSizeConfig() .setSize(in.readInt()) .setMaxSizePolicy(MaxSizeConfig.MaxSizePolicy.valueOf(in.readUTF()))); config.setReadBackupData(in.readBoolean()); config.setEvictionPolicy(EvictionPolicy.valueOf(in.readUTF())); config.setMergePolicy(in.readUTF()); }