From 0f0883a78146f2d6ffdd85980e58f07b66ac9a6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=91=E5=B9=B4=E6=A2=A6=E4=B8=8E=E7=A0=96?=
<2847127106@qq.com>
Date: Tue, 1 Oct 2024 19:15:06 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90Caffeine=E7=BC=93?=
=?UTF-8?q?=E5=AD=98=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cloud-common/cloud-common-caffeine/pom.xml | 1 +
.../common/caffeine/bean/CaffeineManager.java | 48 +++++++++++
.../caffeine/bean/CaffeineManagerBean.java | 30 -------
.../caffeine/utils/CaffeineCacheUtils.java | 86 +++++++++----------
...ot.autoconfigure.AutoConfiguration.imports | 2 +-
.../processing/controller/TestController.java | 50 +++++++++--
.../data/processing/domain/Temporary1.java | 1 +
.../data/processing/domain/Temporary2.java | 1 +
.../rebbit/DownlineRabbitConsumer.java | 2 -
.../rebbit/GoOnlineRabbitConsumer.java | 37 ++++----
10 files changed, 154 insertions(+), 104 deletions(-)
create mode 100644 cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java
delete mode 100644 cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java
diff --git a/cloud-common/cloud-common-caffeine/pom.xml b/cloud-common/cloud-common-caffeine/pom.xml
index d3e34be..286b121 100644
--- a/cloud-common/cloud-common-caffeine/pom.xml
+++ b/cloud-common/cloud-common-caffeine/pom.xml
@@ -29,6 +29,7 @@
com.github.ben-manes.caffeine
caffeine
+
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
new file mode 100644
index 0000000..3eac18a
--- /dev/null
+++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManager.java
@@ -0,0 +1,48 @@
+package com.muyu.common.caffeine.bean;
+
+
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.caffeine.CaffeineCache;
+import org.springframework.cache.support.SimpleCacheManager;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+
+
+/**
+ * @Author: 胡杨
+ * @Name: CaffeineCacheConfig
+ * @Description: Caffeine管理器
+ * @CreatedDate: 2024/9/26 上午11:52
+ * @FilePath: com.muyu.common.caffeine.config
+ */
+@Component
+public class CaffeineManager {
+ /**
+ * 创建缓存管理器
+ * @return 缓存管理器实例
+ */
+ @Bean
+ public CacheManager cacheManager() {
+ SimpleCacheManager cacheManager = new SimpleCacheManager();
+ cacheManager.setCaches(getCaches());
+ 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-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java
deleted file mode 100644
index 6c1333d..0000000
--- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/bean/CaffeineManagerBean.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.muyu.common.caffeine.bean;
-
-
-import org.springframework.cache.support.SimpleCacheManager;
-import org.springframework.context.annotation.Bean;
-import org.springframework.stereotype.Component;
-
-
-/**
- * @Author: 胡杨
- * @Name: CaffeineCacheConfig
- * @Description: Caffeine管理器
- * @CreatedDate: 2024/9/26 上午11:52
- * @FilePath: com.muyu.common.caffeine.config
- */
-@Component
-public class CaffeineManagerBean {
-
- /**
- * 创建缓存管理器
- * @return 缓存管理器实例
- */
- @Bean
- public SimpleCacheManager simpleCacheManager() {
- return new SimpleCacheManager();
- }
-
-
-
-}
diff --git a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/utils/CaffeineCacheUtils.java b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/utils/CaffeineCacheUtils.java
index c6fefc4..0cb793b 100644
--- a/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/utils/CaffeineCacheUtils.java
+++ b/cloud-common/cloud-common-caffeine/src/main/java/com/muyu/common/caffeine/utils/CaffeineCacheUtils.java
@@ -8,8 +8,9 @@ import com.muyu.common.redis.service.RedisService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.cache.CacheManager;
import org.springframework.cache.caffeine.CaffeineCache;
-import org.springframework.cache.support.SimpleCacheManager;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
@@ -30,74 +31,73 @@ public class CaffeineCacheUtils {
@Resource
private RedisService redisService;
@Resource
- private SimpleCacheManager simpleCacheManager;
- @Resource
- private RedisTemplate redisTemplate;
+ private CacheManager cacheManager;
- /**
- * 车辆上线 - 新增缓存
- */
- public void addCarCache(String vin) {
- ArrayList caches = new ArrayList<>();
- // 从Redis中获取缓存信息
- Collection keys = redisTemplate.keys(CaffeineContent.CAR_VIN_KEY + vin);
- keys.forEach(key -> {
- Object string = redisTemplate.opsForValue().get(key);
- Cache