@CacheEntryModified public void modified(CacheEntryModifiedEvent<String, Map<Object, Object>> event) { if (event.isPre() || event.isOriginLocal()) return; Map<Object, Object> map = event.getValue(); if (map.isEmpty()) return; String sessionId = event.getKey(); Integer version = SessionMapEntry.VERSION.get(map); Long timestamp = SessionMapEntry.TIMESTAMP.get(map); DistributableSessionMetadata metadata = SessionMapEntry.METADATA.get(map); if ((version != null) && (timestamp != null) && (metadata != null)) { boolean updated = this.manager.sessionChangedInDistributedCache(sessionId, null, version.intValue(), timestamp.longValue(), metadata); if (!updated) { log.warn(String.format("Possible concurrency problem: Replicated version id %d is less than or equal to in-memory version for session %s", version, mask(sessionId))); } } }