From afb5f4271b65ece097d1b041519297164e7a317d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A6=82=E6=A2=A6=E6=8A=80=E6=9C=AF?= <596392912@qq.com>
Date: Tue, 27 Apr 2021 14:49:51 +0800
Subject: [PATCH] :bookmark: 2.1.0
---
README.md | 11 ++++++++--
mica-weixin-demo/pom.xml | 12 ++++++++---
mica-weixin/build.gradle | 4 ++--
mica-weixin/gradle.properties | 2 +-
.../weixin/cache/SpringAccessTokenCache.java | 20 +++++++++++++++----
.../config/DreamWeixinAutoConfiguration.java | 4 +---
6 files changed, 38 insertions(+), 15 deletions(-)
diff --git a/README.md b/README.md
index a678bee..66ec1bf 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ jfinal weixin 的 spring boot starter,这个starter是为了方便boot用户
net.dreamlu
mica-weixin
- 2.0.6
+ 2.1.0
```
@@ -39,6 +39,9 @@ jfinal weixin 的 spring boot starter,这个starter是为了方便boot用户
### Api
- 类添加`@WxApi`,注解value为你的消息地址,使用/weixin/api,已经组合[@RequestMapping和@Controller]
+### access token cache
+您可以配置 [mica-caffeine](https://gitee.com/596392912/mica/tree/master/mica-caffeine) 或 [mica-redis](https://gitee.com/596392912/mica/tree/master/mica-redis) 实现 access token 的缓存。
+
### 配置
| 配置项 | 默认值 | 说明 |
| ----- | ------ | ------ |
@@ -71,7 +74,11 @@ dream:
- `access-token-cache`建议配置有效时间7100秒。
## 更新说明
-### 2020-12-16 2.0.6
+### 2021-04-27 2.1.0
+- Spring cache 对象改为每次读取, caffeine 会刷新,照成引用为 null。
+- 升级 jfinal-weixin 到 3.1。
+
+### 2020-03-20 2.0.6
- 升级 jfinal-weixin 到 3.0。
### 2020-12-16 2.0.5
diff --git a/mica-weixin-demo/pom.xml b/mica-weixin-demo/pom.xml
index 1b803be..df19643 100644
--- a/mica-weixin-demo/pom.xml
+++ b/mica-weixin-demo/pom.xml
@@ -33,13 +33,19 @@
net.dreamlu
mica-weixin
- 2.0.6
+ 2.1.0
-
+
+
+
+
+
+
+
-
+
diff --git a/mica-weixin/build.gradle b/mica-weixin/build.gradle
index ae1c6ea..f0856f3 100644
--- a/mica-weixin/build.gradle
+++ b/mica-weixin/build.gradle
@@ -5,10 +5,10 @@ ext {
javaVersion = JavaVersion.VERSION_1_8
springBootVersion = "2.4.4"
jfinalVersion = "4.9.08"
- jfinalWeixinVersion = "3.0"
+ jfinalWeixinVersion = "3.1"
okhttpVersion = "3.14.9"
micaAutoVersion = "2.0.4"
- lombokVersion = "1.18.18"
+ lombokVersion = "1.18.20"
}
allprojects {
diff --git a/mica-weixin/gradle.properties b/mica-weixin/gradle.properties
index f797009..54503c8 100644
--- a/mica-weixin/gradle.properties
+++ b/mica-weixin/gradle.properties
@@ -1,4 +1,4 @@
-VERSION=2.0.6
+VERSION=2.1.0
GROUPID=net.dreamlu
userName=chunmeng
diff --git a/mica-weixin/src/main/java/net/dreamlu/weixin/cache/SpringAccessTokenCache.java b/mica-weixin/src/main/java/net/dreamlu/weixin/cache/SpringAccessTokenCache.java
index ec85561..12511a5 100644
--- a/mica-weixin/src/main/java/net/dreamlu/weixin/cache/SpringAccessTokenCache.java
+++ b/mica-weixin/src/main/java/net/dreamlu/weixin/cache/SpringAccessTokenCache.java
@@ -2,7 +2,11 @@ package net.dreamlu.weixin.cache;
import com.jfinal.weixin.sdk.cache.IAccessTokenCache;
import lombok.RequiredArgsConstructor;
+import net.dreamlu.weixin.properties.DreamWeixinProperties;
import org.springframework.cache.Cache;
+import org.springframework.cache.CacheManager;
+
+import java.util.Objects;
/**
* 基于 spring cache 的 weixin token 缓存
@@ -12,20 +16,28 @@ import org.springframework.cache.Cache;
@RequiredArgsConstructor
public class SpringAccessTokenCache implements IAccessTokenCache {
private final static String ACCESS_TOKEN_PREFIX = "dream-weixin:token:";
- private final Cache cache;
+ private final CacheManager cacheManager;
+ private final DreamWeixinProperties properties;
@Override
public String get(String key) {
- return cache.get(ACCESS_TOKEN_PREFIX + key, String.class);
+ return getCache().get(ACCESS_TOKEN_PREFIX + key, String.class);
}
@Override
public void set(String key, String jsonValue) {
- cache.put(ACCESS_TOKEN_PREFIX + key, jsonValue);
+ getCache().put(ACCESS_TOKEN_PREFIX + key, jsonValue);
}
@Override
public void remove(String key) {
- cache.evict(ACCESS_TOKEN_PREFIX + key);
+ getCache().evict(ACCESS_TOKEN_PREFIX + key);
+ }
+
+ private Cache getCache() {
+ String accessTokenCacheName = properties.getAccessTokenCache();
+ Cache cache = cacheManager.getCache(accessTokenCacheName);
+ return Objects.requireNonNull(cache, "AccessToken cache is null.");
}
+
}
diff --git a/mica-weixin/src/main/java/net/dreamlu/weixin/config/DreamWeixinAutoConfiguration.java b/mica-weixin/src/main/java/net/dreamlu/weixin/config/DreamWeixinAutoConfiguration.java
index b5bead8..59d9869 100644
--- a/mica-weixin/src/main/java/net/dreamlu/weixin/config/DreamWeixinAutoConfiguration.java
+++ b/mica-weixin/src/main/java/net/dreamlu/weixin/config/DreamWeixinAutoConfiguration.java
@@ -5,7 +5,6 @@ import net.dreamlu.weixin.cache.SpringAccessTokenCache;
import net.dreamlu.weixin.properties.DreamWeixinProperties;
import net.dreamlu.weixin.spring.MsgInterceptor;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.cache.Cache;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
@@ -26,8 +25,7 @@ public class DreamWeixinAutoConfiguration {
@Bean
public SpringAccessTokenCache springAccessTokenCache(CacheManager cacheManager,
DreamWeixinProperties properties) {
- Cache cache = cacheManager.getCache(properties.getAccessTokenCache());
- return new SpringAccessTokenCache(cache);
+ return new SpringAccessTokenCache(cacheManager, properties);
}
@Configuration
--
GitLab