@Override public void modifyConfiguration(final Config config) { Arrays.asList(CacheConstants.PLAYER_S_AND_SID_CACHE, CacheConstants.PLAYER_ID_CACHE, CacheConstants.PLAYER_MD5_CACHE, CacheConstants.GAME_ID_CACHE).forEach(cache -> { MapConfig mc = new MapConfig(cache); mc.setMaxIdleSeconds(FIVE_MINUTES); config.addMapConfig(mc); }); } }
public static void main(String[] args) throws InterruptedException { Config config = new Config(); config.addMapConfig(new MapConfig("default").setMaxIdleSeconds(5)); HazelcastInstance hazelcastInstance = Hazelcast.newHazelcastInstance(config); Map<Integer, String> map = hazelcastInstance.getMap("default"); map.put(0, "Number Zero"); // 0 overrides the map config and make the entry not expirable ((IMap<Integer, String>) map).put(1, "Number One", 0, SECONDS, 0, SECONDS); System.out.println("Entry 0: " + map.get(0) + ", Entry 1: " + map.get(1)); Thread.sleep(SECONDS.toMillis(5)); if (map.get(0) != null) { System.err.println("Entry 0 is still alive!"); } if (map.get(1) != null) { System.out.println("Entry 1 is still alive!"); } System.exit(0); }
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 static HazelcastInstance createInstance(ClusteredSessionService sessionService, WebFilterConfig filterConfig) throws ServletException { LOGGER.info("Creating a new HazelcastInstance for session replication"); Config config; if (filterConfig.getConfigUrl() == null) { config = new XmlConfigBuilder().build(); } else { try { config = new UrlXmlConfig(filterConfig.getConfigUrl()); } catch (IOException e) { throw new ServletException(e); } } config.getMapConfig(filterConfig.getMapName()).setMaxIdleSeconds(filterConfig.getSessionTtlSeconds()); config.addListenerConfig(new ListenerConfig(new ServerLifecycleListener(sessionService))); return Hazelcast.newHazelcastInstance(config); }
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 static HazelcastInstance createInstance(ClusteredSessionService sessionService, WebFilterConfig filterConfig) throws ServletException { LOGGER.info("Creating a new HazelcastInstance for session replication"); Config config; if (filterConfig.getConfigUrl() == null) { config = new XmlConfigBuilder().build(); } else { try { config = new UrlXmlConfig(filterConfig.getConfigUrl()); } catch (IOException e) { throw new ServletException(e); } } config.getMapConfig(filterConfig.getMapName()).setMaxIdleSeconds(filterConfig.getSessionTtlSeconds()); config.addListenerConfig(new ListenerConfig(new ServerLifecycleListener(sessionService))); return Hazelcast.newHazelcastInstance(config); }
)); } else if ("max-idle-seconds".equals(nodeName)) { mapConfig.setMaxIdleSeconds(getIntegerValue("max-idle-seconds", value )); } else if ("map-store".equals(nodeName)) {
)); } else if ("max-idle-seconds".equals(nodeName)) { mapConfig.setMaxIdleSeconds(getIntegerValue("max-idle-seconds", value )); } else if ("map-store".equals(nodeName)) {
sessionMapConfig.setMaxIdleSeconds(this.getSessionLifetime() * 60); sessionMapConfig.setEvictionPolicy(EvictionPolicy.LRU); sessionMapConfig.setEvictionPercentage(Integer.getInteger("balsa.hazelcast.eviction-percentage", 0));
mapConfig.setMaxIdleSeconds(maxIdleSeconds);
/** * 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); }
config.setMaxIdleSeconds(parameters.maxIdleSeconds); config.setMaxSizeConfig(new MaxSizeConfig(parameters.maxSizeConfigSize, MaxSizeConfig.MaxSizePolicy.valueOf(parameters.maxSizeConfigMaxSizePolicy)));
config.setMaxIdleSeconds(parameters.maxIdleSeconds); config.setMaxSizeConfig(new MaxSizeConfig(parameters.maxSizeConfigSize, MaxSizeConfig.MaxSizePolicy.valueOf(parameters.maxSizeConfigMaxSizePolicy)));
cacheMapConfig.setMaxIdleSeconds(1 * 60 * 60); /* Objects are removed if they are idle for 1 hour */ cacheMapConfig.setEvictionPolicy(EvictionPolicy.LRU); cacheMapConfig.setTimeToLiveSeconds(12 * 60 * 60); /* Objects are always refreshed every 12 hours */
@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.setMaxSizeConfig(mapConfig.getMaxSizeConfig()); MapContainer mapContainer = service.getMapServiceContext().getMapContainer(mapName); mapContainer.setMapConfig(newConfig.getAsReadOnly()); mapContainer.initEvictor(); }
@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(); }
@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()); }