From 610f34f6a8a3136b39e0bfc40a7e18ff47db07b2 Mon Sep 17 00:00:00 2001 From: gsd Date: Sun, 26 Jul 2026 13:28:55 +0300 Subject: [PATCH] cache --- .../java/app/configurations/AppCacheConfig.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/app/configurations/AppCacheConfig.java b/src/main/java/app/configurations/AppCacheConfig.java index 893349d..6607f65 100644 --- a/src/main/java/app/configurations/AppCacheConfig.java +++ b/src/main/java/app/configurations/AppCacheConfig.java @@ -2,10 +2,13 @@ package app.configurations; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.Cache; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.concurrent.ConcurrentMapCacheManager; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.Scheduled; @@ -21,6 +24,10 @@ public class AppCacheConfig { public static final String g_vip = "graphs.vip"; public static final String g_online = "graphs.online"; public static final String g_usertime_connections = "graphs.usertime.connections"; + private static final String[] g_ = new String[]{g_usertime, g_vip, g_online, g_usertime_connections}; + + @Autowired + private ApplicationContext applicationContext; @Bean public CacheManager cacheManager() { @@ -38,8 +45,14 @@ public class AppCacheConfig { purgeGraphCache(); } - @CacheEvict(value = {g_usertime, g_vip, g_online, g_usertime_connections}, allEntries = true) public void purgeGraphCache() { - logger.info("Cache clean of graphs"); + CacheManager cacheManager = applicationContext.getBean(CacheManager.class); + for (String s : g_) { + Cache cache = cacheManager.getCache(s); + if (cache != null) { + logger.info("Clean cache: " + s); + cache.clear(); + } + } } }