Author: bleny Date: 2014-08-27 17:20:36 +0200 (Wed, 27 Aug 2014) New Revision: 2224 Url: http://forge.codelutin.com/projects/wao/repository/revisions/2224 Log: D?\195?\169sactivation de l'invalidation du cache des filtres des navires (refs #5403) Modified: branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/CacheInvalidationTopiaEntityListener.java branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/DefaultWaoApplicationContext.java Modified: branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/CacheInvalidationTopiaEntityListener.java =================================================================== --- branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/CacheInvalidationTopiaEntityListener.java 2014-08-27 15:00:48 UTC (rev 2223) +++ branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/CacheInvalidationTopiaEntityListener.java 2014-08-27 15:20:36 UTC (rev 2224) @@ -71,6 +71,13 @@ protected boolean invalidateAllContacts = false; + /** + * On désactive pour se reposer uniquement sur l'invalidation au bout d'un certain temps. + * @deprecated le temps du test en prod pour voir si ça améliore mais si on garde, à refactorer + */ + @Deprecated + protected boolean boatsFilterValuesCacheInvalidationEnabled = false; + public CacheInvalidationTopiaEntityListener( Cache<SamplingPlanCacheKey, SamplingPlan> samplingPlansCache, Cache<BoatsFilterValuesCacheKey, BoatsFilterValues> boatsFilterValuesCache, @@ -139,7 +146,7 @@ if (log.isTraceEnabled()) { log.trace("will commit for entities " + event.getEntities()); } - if (invalidateAllSampleRows || dirtySampleRowIds.size() > 20) { + if (invalidateAllSampleRows) { samplingPlansCache.invalidateAll(); synthesesCache.invalidateAll(); } else { @@ -158,8 +165,10 @@ } synthesesCache.invalidateAll(synthesesCacheKeysToInvalidate); } - if (invalidateAllBoats || dirtyBoatIds.size() > 20) { - boatsFilterValuesCache.invalidateAll(); + if (invalidateAllBoats) { + if (boatsFilterValuesCacheInvalidationEnabled) { + boatsFilterValuesCache.invalidateAll(); + } } else { Set<BoatsFilterValuesCacheKey> boatsFilterValuesCacheKeysToInvalidate = new HashSet<>(); for (Map.Entry<BoatsFilterValuesCacheKey, BoatsFilterValues> entry : boatsFilterValuesCache.asMap().entrySet()) { @@ -167,7 +176,9 @@ boatsFilterValuesCacheKeysToInvalidate.add(entry.getKey()); } } - boatsFilterValuesCache.invalidateAll(boatsFilterValuesCacheKeysToInvalidate); + if (boatsFilterValuesCacheInvalidationEnabled) { + boatsFilterValuesCache.invalidateAll(boatsFilterValuesCacheKeysToInvalidate); + } } clear(); } Modified: branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/DefaultWaoApplicationContext.java =================================================================== --- branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/DefaultWaoApplicationContext.java 2014-08-27 15:00:48 UTC (rev 2223) +++ branches/wao-4.0.x/wao-web/src/main/java/fr/ifremer/wao/web/DefaultWaoApplicationContext.java 2014-08-27 15:20:36 UTC (rev 2224) @@ -130,7 +130,7 @@ @Override public Cache<BoatsFilterValuesCacheKey, BoatsFilterValues> getBoatsFilterValuesCache() { if (boatsFilterValuesCache == null) { - boatsFilterValuesCache = newCacheBuilder(100).expireAfterAccess(30, TimeUnit.DAYS).build(); + boatsFilterValuesCache = newCacheBuilder(100).expireAfterWrite(18, TimeUnit.HOURS).build(); } return boatsFilterValuesCache; }