From 2a5ed5f6fb164890959790f28ec98762a0190475 Mon Sep 17 00:00:00 2001 From: "jieying.li" Date: Tue, 3 Dec 2024 15:30:41 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=89=A7=E8=A1=8C=E5=BC=95?= =?UTF-8?q?=E6=93=8E=201.=E4=BB=8E=E5=A0=86=E6=A0=88=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=8Credis=E7=9B=B8=E5=85=B3=E7=B1=BB=E4=BC=9A=E5=8D=A0?= =?UTF-8?q?=E7=94=A8=E5=BE=88=E5=A4=9A=E5=86=85=E5=AD=98=EF=BC=8C=E4=B8=94?= =?UTF-8?q?=E4=B8=80=E7=9B=B4=E5=9C=A8=E5=A2=9E=E5=8A=A0=E3=80=82=202.?= =?UTF-8?q?=E4=BB=8E=E4=BB=A3=E7=A0=81=E4=B8=AD=E6=B2=A1=E6=9C=89=E6=89=BE?= =?UTF-8?q?=E5=88=B0=E4=BD=BF=E7=94=A8redis=E7=9A=84=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E6=89=80=E4=BB=A5=E5=B0=86redis=E7=9A=84=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E9=85=8D=E7=BD=AE=E3=80=81=E7=9B=B8=E5=85=B3=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=A1=E6=81=AF=E5=88=A0=E6=8E=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cctp/se/config/CacheConfiguration.java | 190 ------------------ .../cctp/se/lifecycle/LifecycleCtrl.java | 20 -- 2 files changed, 210 deletions(-) delete mode 100644 cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/config/CacheConfiguration.java diff --git a/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/config/CacheConfiguration.java b/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/config/CacheConfiguration.java deleted file mode 100644 index 7093ae2..0000000 --- a/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/config/CacheConfiguration.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved. - * - */ -package net.northking.cctp.se.config; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.PropertyAccessor; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import net.northking.cctp.common.cache.EntityNameCache; -import net.northking.cctp.common.cache.EntityNameRedisRepository; -import net.northking.cctp.common.saas.cache.SaaSTenantCache; -import net.northking.cctp.common.saas.cache.StaticTenantCache; -import net.northking.cctp.common.security.authorization.ResourceAuthorityCache; -import net.northking.cctp.common.security.authorization.ResourceAuthorityRedisRepository; -import net.northking.cctp.common.sequence.SequenceDistributedService; -import net.northking.cctp.common.sequence.SequenceNoneStorage; -import net.northking.cctp.common.sequence.SequenceService; -import net.northking.cctp.common.sequence.SequenceStorage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.cache.RedisCacheConfiguration; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; -import org.springframework.data.redis.serializer.RedisSerializationContext; -import org.springframework.data.redis.serializer.StringRedisSerializer; -import org.springframework.integration.redis.util.RedisLockRegistry; - -/** - * 平台缓存配置 - * - * @author : xiusong.xie - * @version : 1.0 - */ -@Configuration -public class CacheConfiguration -{ - private static final Logger logger = LoggerFactory.getLogger(CacheConfiguration.class); - - /** - * 统一配置 redisTemplate - * - * @return redisTemplate - */ - @Bean - public RedisTemplate redisTemplate(RedisConnectionFactory factory) - { - RedisTemplate template = new RedisTemplate<>(); - // 配置连接工厂 - template.setConnectionFactory(factory); - - //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式) - Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); - - - ObjectMapper om = new ObjectMapper(); - // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public - om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); - // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常 - jsonRedisSerializer.setObjectMapper(om); - - // 值采用json序列化 - template.setValueSerializer(jsonRedisSerializer); - //使用StringRedisSerializer来序列化和反序列化redis的key值 - template.setKeySerializer(new StringRedisSerializer()); - - // 设置hash key 和value序列化模式 - template.setHashKeySerializer(new StringRedisSerializer()); - template.setHashValueSerializer(jsonRedisSerializer); - template.afterPropertiesSet(); - - logger.info("注册公共组件提示:统一配置 RedisTemplate 已完成。"); - return template; - } - - /** - * 配置Spring Cache序列化方式:JSON - * - * @return RedisCacheConfiguration - */ - @Bean - public RedisCacheConfiguration redisCacheConfiguration() - { - //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式) - Jackson2JsonRedisSerializer jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); - - ObjectMapper om = new ObjectMapper(); - // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public - om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); - // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常 - om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); - // 找不到匹配属性时忽略报错 - om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - // 不包含任何属性的bean也不报错 - om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); - // JSON序列化忽略空值(包含NULL和空字符串) - om.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); - jsonRedisSerializer.setObjectMapper(om); - logger.info("注册公共组件提示:统一配置 Spring Cache序列化方式:JSON。"); - return RedisCacheConfiguration.defaultCacheConfig() - .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jsonRedisSerializer)); - } - - /** - * 基于Redis的全局锁 - * - * @return 全局锁 - */ - @Bean - public RedisLockRegistry redisLockRegistry(RedisConnectionFactory factory) - { - logger.info("注册公共组件提示:统一配置 全局锁(RedisLockRegistry) 已完成。"); - return new RedisLockRegistry(factory, "CCTP_LOCK"); - } - - /** - * 资源权限缓存 - * - * @return 资源权限缓存 - */ - @Bean - @ConditionalOnMissingBean - public ResourceAuthorityCache resourceAuthorityCache(RedisTemplate redisTemplate) - { - logger.info("注册公共组件提示:统一配置 用户权限缓存(ResourceAuthorityCache) 已完成。"); - return new ResourceAuthorityRedisRepository(redisTemplate); - } - - - /** - * 实体命名缓存 - * - * @return 实体命名缓存 - */ - @Bean - @ConditionalOnMissingBean - public EntityNameCache entityNameCache(RedisTemplate redisTemplate) - { - - logger.info("注册公共组件提示:统一配置 实体命名缓存(EntityNameCache) 已完成。"); - return new EntityNameRedisRepository(redisTemplate); - } - - /** - * 静态租户缓存 - * - * @return 静态租户缓存 - */ - @Bean - @ConditionalOnMissingBean - public SaaSTenantCache staticTenantCache() - { - return new StaticTenantCache(); - } - - - /** - * 注册:序列持久化服务 - * - * @return 序列持久化服务 - */ - @Bean - @ConditionalOnMissingBean - public SequenceStorage sequenceStorage() - { - return new SequenceNoneStorage(); - } - - /** - * 注册: 分布式序列服务 - * - * @param factory redis连接工厂 - * @param sequenceStorage 序列持久化服务 - * @return 分布式序列服务 - */ - @Bean - public SequenceService sequenceService(RedisConnectionFactory factory, SequenceStorage sequenceStorage) - { - logger.info("注册公共组件提示:统一配置 分布式序列服务(SequenceService) 已完成。"); - - return new SequenceDistributedService(factory, sequenceStorage); - } -} diff --git a/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/lifecycle/LifecycleCtrl.java b/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/lifecycle/LifecycleCtrl.java index c7f93be..83a6086 100644 --- a/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/lifecycle/LifecycleCtrl.java +++ b/cctp-atu/atu-engine/atu-script-engine/src/main/java/net/northking/cctp/se/lifecycle/LifecycleCtrl.java @@ -12,7 +12,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; @@ -35,10 +34,6 @@ public class LifecycleCtrl @Autowired private RabbitTemplate rabbitTemplate; - @Autowired - private RedisTemplate redisTemplate; - - /** * 获取引擎运行信息 * @@ -55,21 +50,6 @@ public class LifecycleCtrl return wrapper; } - /** - * 获取redis指定Key的数据 - * - * @return 引擎运行信息 - */ - @ApiOperation(value = "获取redis指定Key的数据") - @GetMapping(value = "/getRedisKey/{key}") - public ResultWrapper getRedisKey(@PathVariable("key") String key) - { - ResultWrapper wrapper = new ResultWrapper<>(); - Object info = redisTemplate.opsForValue().get(key); - wrapper.success(info); - return wrapper; - } - /** * 启用/禁用引擎 *