@Override public Object merge(String cacheName, CacheEntryView mergingEntry, CacheEntryView existingEntry) { if (existingEntry == null || mergingEntry.getAccessHit() >= existingEntry.getAccessHit()) { return mergingEntry.getValue(); } return existingEntry.getValue(); } }
@Override public Object merge(String cacheName, CacheEntryView mergingEntry, CacheEntryView existingEntry) { if (existingEntry == null || mergingEntry.getLastAccessTime() >= existingEntry.getLastAccessTime()) { return mergingEntry.getValue(); } return existingEntry.getValue(); } }
public static CacheMergeTypes createMergingEntry(SerializationService serializationService, CacheEntryView<Data, Data> entryView) { return new CacheMergingEntryImpl(serializationService) .setKey(entryView.getKey()) .setValue(entryView.getValue()) .setCreationTime(entryView.getCreationTime()) .setExpirationTime(entryView.getExpirationTime()) .setLastAccessTime(entryView.getLastAccessTime()) .setHits(entryView.getAccessHit()); }
@Override public int compare(CacheEntryView<Integer, String> e1, CacheEntryView<Integer, String> e2) { Integer key1 = e1.getKey(); Integer key2 = e2.getKey(); if (LOG_ENABLED) { System.out.println("Comparing entries with key " + key1 + " and with key " + key2 + " to select the one with higher priority to be evicted"); } if (key2 > key1) { // -1 return FIRST_ENTRY_HAS_HIGHER_PRIORITY_TO_BE_EVICTED; } else if (key2 < key1) { // +1 return SECOND_ENTRY_HAS_HIGHER_PRIORITY_TO_BE_EVICTED; } else { // 0 return BOTH_OF_ENTRIES_HAVE_SAME_PRIORITY_TO_BE_EVICTED; } } }
public static CacheMergeTypes createMergingEntry(SerializationService serializationService, CacheEntryView<Data, Data> entryView) { return new CacheMergingEntryImpl(serializationService) .setKey(entryView.getKey()) .setValue(entryView.getValue()) .setCreationTime(entryView.getCreationTime()) .setExpirationTime(entryView.getExpirationTime()) .setLastAccessTime(entryView.getLastAccessTime()) .setHits(entryView.getAccessHit()); }
Data key = cacheEntryView.getKey(); Data value = cacheEntryView.getValue(); long expiryTime = cacheEntryView.getExpirationTime(); R record = records.get(key); boolean isExpired = processExpiredEntry(key, record, now); key, value, cacheEntryView.getCreationTime(), cacheEntryView.getExpirationTime(), cacheEntryView.getLastAccessTime(), cacheEntryView.getAccessHit(), cacheEntryView.getExpiryPolicy(), mergePolicy), null); key, value, cacheEntryView.getCreationTime(), cacheEntryView.getExpirationTime(), cacheEntryView.getLastAccessTime(), cacheEntryView.getAccessHit(), cacheEntryView.getExpiryPolicy(), mergePolicy), createCacheEntryView( key, oldValue, cacheEntryView.getCreationTime(), record.getExpirationTime(),
@Override public Object merge(String cacheName, CacheEntryView mergingEntry, CacheEntryView existingEntry) { if (existingEntry == null || mergingEntry.getAccessHit() >= existingEntry.getAccessHit()) { return mergingEntry.getValue(); } return existingEntry.getValue(); } }
@Override public Object merge(String cacheName, CacheEntryView mergingEntry, CacheEntryView existingEntry) { if (existingEntry == null || mergingEntry.getLastAccessTime() >= existingEntry.getLastAccessTime()) { return mergingEntry.getValue(); } return existingEntry.getValue(); } }
Data key = cacheEntryView.getKey(); Data value = cacheEntryView.getValue(); long expiryTime = cacheEntryView.getExpirationTime(); R record = records.get(key); boolean isExpired = processExpiredEntry(key, record, now); key, value, cacheEntryView.getCreationTime(), cacheEntryView.getExpirationTime(), cacheEntryView.getLastAccessTime(), cacheEntryView.getAccessHit(), cacheEntryView.getExpiryPolicy(), mergePolicy), null); key, value, cacheEntryView.getCreationTime(), cacheEntryView.getExpirationTime(), cacheEntryView.getLastAccessTime(), cacheEntryView.getAccessHit(), cacheEntryView.getExpiryPolicy(), mergePolicy), createCacheEntryView( key, oldValue, cacheEntryView.getCreationTime(), record.getExpirationTime(),
@Override public void writeResponse(ManagementCenterService mcs, JsonObject root) { InternalSerializationService serializationService = mcs.getHazelcastInstance().getSerializationService(); HazelcastInstanceCacheManager cacheManager = mcs.getHazelcastInstance().getCacheManager(); ICache<Object, Object> cache = cacheManager.getCache(cacheName); CacheEntryView cacheEntry = null; if ("string".equals(type)) { cacheEntry = cache.invoke(key, ENTRY_PROCESSOR); } else if ("long".equals(type)) { cacheEntry = cache.invoke(Long.valueOf(key), ENTRY_PROCESSOR); } else if ("integer".equals(type)) { cacheEntry = cache.invoke(Integer.valueOf(key), ENTRY_PROCESSOR); } JsonObject result = new JsonObject(); if (cacheEntry != null) { Object value = serializationService.toObject(cacheEntry.getValue()); result.add("cacheBrowse_value", value != null ? value.toString() : "null"); result.add("cacheBrowse_class", value != null ? value.getClass().getName() : "null"); result.add("date_cache_creation_time", Long.toString(cacheEntry.getCreationTime())); result.add("date_cache_expiration_time", Long.toString(cacheEntry.getExpirationTime())); result.add("cacheBrowse_hits", Long.toString(cacheEntry.getAccessHit())); result.add("date_cache_access_time", Long.toString(cacheEntry.getLastAccessTime())); } root.add("result", result); }
@Override public void writeResponse(ManagementCenterService mcs, JsonObject root) { InternalSerializationService serializationService = mcs.getHazelcastInstance().getSerializationService(); HazelcastInstanceCacheManager cacheManager = mcs.getHazelcastInstance().getCacheManager(); ICache<Object, Object> cache = cacheManager.getCache(cacheName); CacheEntryView cacheEntry = null; if ("string".equals(type)) { cacheEntry = cache.invoke(key, ENTRY_PROCESSOR); } else if ("long".equals(type)) { cacheEntry = cache.invoke(Long.valueOf(key), ENTRY_PROCESSOR); } else if ("integer".equals(type)) { cacheEntry = cache.invoke(Integer.valueOf(key), ENTRY_PROCESSOR); } JsonObject result = new JsonObject(); if (cacheEntry != null) { Object value = serializationService.toObject(cacheEntry.getValue()); result.add("cacheBrowse_value", value != null ? value.toString() : "null"); result.add("cacheBrowse_class", value != null ? value.getClass().getName() : "null"); result.add("date_cache_creation_time", Long.toString(cacheEntry.getCreationTime())); result.add("date_cache_expiration_time", Long.toString(cacheEntry.getExpirationTime())); result.add("cacheBrowse_hits", Long.toString(cacheEntry.getAccessHit())); result.add("date_cache_access_time", Long.toString(cacheEntry.getLastAccessTime())); } root.add("result", result); }
@Override public boolean filter(String s, CacheEntryView<String, String> cacheEntryView, WanFilterEventType wanFilterEventType) { if (cacheEntryView.getValue().startsWith("filter")) { return true; } return false; } }