diff --git a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java index 3eac18a..768553b 100644 --- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java +++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java @@ -1,7 +1,8 @@ package com.muyu.common.caffeine.bean; -import com.github.benmanes.caffeine.cache.Cache; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import com.github.benmanes.caffeine.cache.Caffeine; import org.springframework.cache.CacheManager; import org.springframework.cache.caffeine.CaffeineCache; @@ -10,6 +11,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.List; /** @@ -19,8 +21,13 @@ import java.util.ArrayList; * @CreatedDate: 2024/9/26 上午11:52 * @FilePath: com.muyu.common.caffeine.config */ + +@Slf4j @Component public class CaffeineManager { + @Value("#{'${cacheNames}'.split(',')}") + private List cacheNames; + /** * 创建缓存管理器 * @return 缓存管理器实例 @@ -28,21 +35,15 @@ public class CaffeineManager { @Bean public CacheManager cacheManager() { SimpleCacheManager cacheManager = new SimpleCacheManager(); - cacheManager.setCaches(getCaches()); + cacheManager.setCaches(cacheNames.stream() + .map(name -> new CaffeineCache( + name, + Caffeine.newBuilder() + .recordStats() + .build())) + .toList()); + log.info("缓存管理器初始化完成,缓存分区:{}", cacheNames); return cacheManager; } - - private ArrayList getCaches() { - ArrayList caches = new ArrayList<>(); - // 故障信息缓存 - caches.add(new CaffeineCache("fault", Caffeine.newBuilder().build())); - // 围栏信息缓存 - caches.add(new CaffeineCache("fence", Caffeine.newBuilder().build())); - // 预警策略规则缓存 - caches.add(new CaffeineCache("warming", Caffeine.newBuilder().build())); - return caches; - } - - } diff --git a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbitConsumer.java b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbitConsumer.java index 195e182..726ace3 100644 --- a/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbitConsumer.java +++ b/cloud-data-processing/src/main/java/com/muyu/data/processing/rebbit/GoOnlineRabbitConsumer.java @@ -28,10 +28,7 @@ import java.io.IOException; public class GoOnlineRabbitConsumer { @Resource private RedisTemplate redisTemplate; -// @Resource -// private SimpleCacheManager simpleCacheManager; - @Resource - private CacheUtils cacheUtils; + @RabbitListener(queuesToDeclare = {@Queue(RabbitConstants.GO_ONLINE_QUEUE)}) diff --git a/cloud-data-processing/src/main/resources/bootstrap.yml b/cloud-data-processing/src/main/resources/bootstrap.yml index 4bbeb8f..b40171b 100644 --- a/cloud-data-processing/src/main/resources/bootstrap.yml +++ b/cloud-data-processing/src/main/resources/bootstrap.yml @@ -68,3 +68,5 @@ spring: logging: level: com.muyu.system.mapper: DEBUG + +cacheNames: fault,fence,warming