diff --git a/pom.xml b/pom.xml
index 0a55d0b..defd1f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,6 @@
1.1.0
3.1.0
3.12.5
- 4.0.2
2.12.1
2.17.2
3.0.3
@@ -119,12 +118,6 @@
redisson-spring-boot-starter
${redisson.version}
-
-
- com.esotericsoftware
- kryo
- ${kryo.version}
-
org.apache.logging.log4j
log4j-to-slf4j
diff --git a/yami-shop-admin/src/main/resources/application-dev.yml b/yami-shop-admin/src/main/resources/application-dev.yml
index 6378b93..aa3c093 100644
--- a/yami-shop-admin/src/main/resources/application-dev.yml
+++ b/yami-shop-admin/src/main/resources/application-dev.yml
@@ -18,12 +18,13 @@ spring:
redis:
cache-null-values: true
redis:
- redisson:
- config: classpath:redisson/redisson.yml
+ host: 127.0.0.1
+ port: 6379
+ database: 0
logging:
config: classpath:logback/logback-dev.xml
xxl-job:
accessToken: default_token
logPath: /data/applogs/xxl-job/jobhandler
admin:
- addresses: http://localhost:8080/xxl-job-admin
\ No newline at end of file
+ addresses: http://localhost:8080/xxl-job-admin
diff --git a/yami-shop-admin/src/main/resources/application-docker.yml b/yami-shop-admin/src/main/resources/application-docker.yml
index 78a6a00..cb4cb19 100644
--- a/yami-shop-admin/src/main/resources/application-docker.yml
+++ b/yami-shop-admin/src/main/resources/application-docker.yml
@@ -14,12 +14,13 @@ spring:
auto-commit: true
connection-test-query: SELECT 1
redis:
- redisson:
- config: classpath:redisson/redisson-docker.yml
+ host: ${REDIS_HOST}
+ port: ${REDIS_PORT}
+ database: ${REDIS_DATABASE:0}
logging:
config: classpath:logback/logback-prod.xml
xxl-job:
- accessToken: default_token
- logPath: /data/applogs/xxl-job/jobhandler
+ accessToken: ${XXL_JOB_ACCESS_TOKEN:default_token}
+ logPath: ${XXL_JOB_LOG_PATH:/data/applogs/xxl-job/jobhandler}
admin:
- addresses: http://localhost:8080/xxl-job-admin
\ No newline at end of file
+ addresses: ${XXL_JOB_ADDRESS:http://mall4j-job:8080/xxl-job-admin}
\ No newline at end of file
diff --git a/yami-shop-admin/src/main/resources/application-prod.yml b/yami-shop-admin/src/main/resources/application-prod.yml
index bfa8e0b..5227fe3 100644
--- a/yami-shop-admin/src/main/resources/application-prod.yml
+++ b/yami-shop-admin/src/main/resources/application-prod.yml
@@ -14,8 +14,9 @@ spring:
auto-commit: true
connection-test-query: SELECT 1
redis:
- redisson:
- config: classpath:redisson/redisson.yml
+ host: 127.0.0.1
+ port: 6379
+ database: ${REDIS_DATABASE:0}
logging:
config: classpath:logback/logback-prod.xml
xxl-job:
diff --git a/yami-shop-admin/src/main/resources/redisson/redisson-docker.yml b/yami-shop-admin/src/main/resources/redisson/redisson-docker.yml
deleted file mode 100644
index 46e08da..0000000
--- a/yami-shop-admin/src/main/resources/redisson/redisson-docker.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# 单节点设置
-singleServerConfig:
- address: redis://${REDIS_HOST}:${REDIS_PORT}
- database: ${REDIS_DATABASE}
- password: ${REDIS_PASSWORD}
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- clientName: null
- # 发布和订阅连接的最小空闲连接数 默认1
- subscriptionConnectionMinimumIdleSize: 1
- # 发布和订阅连接池大小 默认50
- subscriptionConnectionPoolSize: 1
- # 单个连接最大订阅数量 默认5
- subscriptionsPerConnection: 1
- # 最小空闲连接数 默认32,现在暂时不需要那么多的线程
- connectionMinimumIdleSize: 2
- # connectionPoolSize 默认64,现在暂时不需要那么多的线程
- connectionPoolSize: 4
-# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
-threads: 0
-# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
-nettyThreads: 0
-codec:
- class: org.redisson.codec.KryoCodec
-transportMode: NIO
diff --git a/yami-shop-admin/src/main/resources/redisson/redisson.yml b/yami-shop-admin/src/main/resources/redisson/redisson.yml
deleted file mode 100644
index 01883be..0000000
--- a/yami-shop-admin/src/main/resources/redisson/redisson.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# 单节点设置
-singleServerConfig:
- address: redis://127.0.0.1:6379
- database: 0
- password: null
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- clientName: null
- # 发布和订阅连接的最小空闲连接数 默认1
- subscriptionConnectionMinimumIdleSize: 1
- # 发布和订阅连接池大小 默认50
- subscriptionConnectionPoolSize: 1
- # 单个连接最大订阅数量 默认5
- subscriptionsPerConnection: 1
- # 最小空闲连接数 默认32,现在暂时不需要那么多的线程
- connectionMinimumIdleSize: 2
- # connectionPoolSize 默认64,现在暂时不需要那么多的线程
- connectionPoolSize: 4
-# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
-threads: 0
-# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
-nettyThreads: 0
-codec:
- class: org.redisson.codec.KryoCodec
-transportMode: NIO
diff --git a/yami-shop-api/src/main/resources/application-dev.yml b/yami-shop-api/src/main/resources/application-dev.yml
index de4328f..7c11224 100644
--- a/yami-shop-api/src/main/resources/application-dev.yml
+++ b/yami-shop-api/src/main/resources/application-dev.yml
@@ -13,8 +13,9 @@ spring:
idle-timeout: 10000
connection-test-query: select 1
redis:
- redisson:
- config: classpath:redisson/redisson.yml
+ host: 127.0.0.1
+ port: 6379
+ database: 0
logging:
config: classpath:logback/logback-dev.xml
diff --git a/yami-shop-api/src/main/resources/application-docker.yml b/yami-shop-api/src/main/resources/application-docker.yml
index a26ed59..f0b4092 100644
--- a/yami-shop-api/src/main/resources/application-docker.yml
+++ b/yami-shop-api/src/main/resources/application-docker.yml
@@ -13,7 +13,8 @@ spring:
maximum-pool-size: 20
connection-test-query: select 1
redis:
- redisson:
- config: classpath:redisson/redisson-docker.yml
+ host: ${REDIS_HOST}
+ port: ${REDIS_PORT}
+ database: ${REDIS_DATABASE:0}
logging:
config: classpath:logback/logback-prod.xml
diff --git a/yami-shop-api/src/main/resources/application-prod.yml b/yami-shop-api/src/main/resources/application-prod.yml
index 09322d9..1071a33 100644
--- a/yami-shop-api/src/main/resources/application-prod.yml
+++ b/yami-shop-api/src/main/resources/application-prod.yml
@@ -1,7 +1,5 @@
server:
port: 8112
- undertow:
- worker-threads: 200
spring:
datasource:
@@ -15,7 +13,8 @@ spring:
maximum-pool-size: 20
connection-test-query: select 1
redis:
- redisson:
- config: classpath:redisson/redisson.yml
+ host: 127.0.0.1
+ port: 6379
+ database: ${REDIS_DATABASE:0}
logging:
config: classpath:logback/logback-prod.xml
diff --git a/yami-shop-api/src/main/resources/redisson/redisson-docker.yml b/yami-shop-api/src/main/resources/redisson/redisson-docker.yml
deleted file mode 100644
index a79943a..0000000
--- a/yami-shop-api/src/main/resources/redisson/redisson-docker.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# 单节点设置
-singleServerConfig:
- address: redis://${REDIS_HOST}:${REDIS_PORT}
- database: ${REDIS_DATABASE}
- password: ${REDIS_PASSWORD}
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- clientName: null
- # 发布和订阅连接的最小空闲连接数 默认1
- subscriptionConnectionMinimumIdleSize: 1
- # 发布和订阅连接池大小 默认50
- subscriptionConnectionPoolSize: 1
- # 单个连接最大订阅数量 默认5
- subscriptionsPerConnection: 1
- # 最小空闲连接数 默认32,现在暂时不需要那么多的线程
- connectionMinimumIdleSize: 4
- # connectionPoolSize 默认64,现在暂时不需要那么多的线程
- connectionPoolSize: 4
-# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
-threads: 0
-# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
-nettyThreads: 0
-codec:
- class: org.redisson.codec.KryoCodec
-transportMode: NIO
diff --git a/yami-shop-api/src/main/resources/redisson/redisson.yml b/yami-shop-api/src/main/resources/redisson/redisson.yml
deleted file mode 100644
index 01883be..0000000
--- a/yami-shop-api/src/main/resources/redisson/redisson.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# 单节点设置
-singleServerConfig:
- address: redis://127.0.0.1:6379
- database: 0
- password: null
- idleConnectionTimeout: 10000
- connectTimeout: 10000
- timeout: 3000
- retryAttempts: 3
- retryInterval: 1500
- clientName: null
- # 发布和订阅连接的最小空闲连接数 默认1
- subscriptionConnectionMinimumIdleSize: 1
- # 发布和订阅连接池大小 默认50
- subscriptionConnectionPoolSize: 1
- # 单个连接最大订阅数量 默认5
- subscriptionsPerConnection: 1
- # 最小空闲连接数 默认32,现在暂时不需要那么多的线程
- connectionMinimumIdleSize: 2
- # connectionPoolSize 默认64,现在暂时不需要那么多的线程
- connectionPoolSize: 4
-# 这个线程池数量被所有RTopic对象监听器,RRemoteService调用者和RExecutorService任务共同共享。
-threads: 0
-# 这个线程池数量是在一个Redisson实例内,被其创建的所有分布式数据类型和服务,以及底层客户端所一同共享的线程池里保存的线程数量。
-nettyThreads: 0
-codec:
- class: org.redisson.codec.KryoCodec
-transportMode: NIO
diff --git a/yami-shop-common/pom.xml b/yami-shop-common/pom.xml
index 9d7906c..cc9755e 100644
--- a/yami-shop-common/pom.xml
+++ b/yami-shop-common/pom.xml
@@ -73,10 +73,6 @@
com.vdurmont
emoji-java
-
- com.esotericsoftware
- kryo
-
com.github.binarywang
weixin-java-pay
diff --git a/yami-shop-common/src/main/java/com/yami/shop/common/config/RedisCacheConfig.java b/yami-shop-common/src/main/java/com/yami/shop/common/config/RedisCacheConfig.java
index d600dc0..34c3df7 100644
--- a/yami-shop-common/src/main/java/com/yami/shop/common/config/RedisCacheConfig.java
+++ b/yami-shop-common/src/main/java/com/yami/shop/common/config/RedisCacheConfig.java
@@ -10,7 +10,14 @@
package com.yami.shop.common.config;
-import com.yami.shop.common.serializer.redis.KryoRedisSerializer;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.json.JsonMapper;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
@@ -21,7 +28,9 @@ import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
+import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.time.Duration;
@@ -37,53 +46,79 @@ import java.util.Map;
public class RedisCacheConfig {
@Bean
- public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
+ public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory, RedisSerializer