|
@@ -2,8 +2,10 @@ package com.kxs.common.idempotent;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.kxs.common.idempotent.aspect.IdempotentAspect;
|
|
import com.kxs.common.idempotent.aspect.IdempotentAspect;
|
|
|
|
|
+import com.kxs.common.idempotent.config.RedisProperties;
|
|
|
import com.kxs.common.idempotent.expression.ExpressionResolver;
|
|
import com.kxs.common.idempotent.expression.ExpressionResolver;
|
|
|
import com.kxs.common.idempotent.expression.KeyResolver;
|
|
import com.kxs.common.idempotent.expression.KeyResolver;
|
|
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
import org.redisson.Redisson;
|
|
import org.redisson.Redisson;
|
|
|
import org.redisson.api.RedissonClient;
|
|
import org.redisson.api.RedissonClient;
|
|
|
import org.redisson.config.Config;
|
|
import org.redisson.config.Config;
|
|
@@ -12,6 +14,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
|
|
|
|
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
|
@@ -24,13 +27,11 @@ import org.springframework.context.annotation.Configuration;
|
|
|
@AutoConfiguration
|
|
@AutoConfiguration
|
|
|
@Configuration(proxyBeanMethods = false)
|
|
@Configuration(proxyBeanMethods = false)
|
|
|
@AutoConfigureAfter(RedisAutoConfiguration.class)
|
|
@AutoConfigureAfter(RedisAutoConfiguration.class)
|
|
|
|
|
+@EnableConfigurationProperties({ RedisProperties.class })
|
|
|
|
|
+@AllArgsConstructor
|
|
|
public class IdempotentAutoConfiguration {
|
|
public class IdempotentAutoConfiguration {
|
|
|
|
|
|
|
|
- @Value("${spring.data.redis.host}")
|
|
|
|
|
- private String host;
|
|
|
|
|
-
|
|
|
|
|
- @Value("${spring.data.redis.password}")
|
|
|
|
|
- private String password;
|
|
|
|
|
|
|
+ private final RedisProperties redisProperties;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 切面 拦截处理所有 @Idempotent
|
|
* 切面 拦截处理所有 @Idempotent
|
|
@@ -55,9 +56,9 @@ public class IdempotentAutoConfiguration {
|
|
|
@ConditionalOnMissingBean
|
|
@ConditionalOnMissingBean
|
|
|
public RedissonClient redissonClient() {
|
|
public RedissonClient redissonClient() {
|
|
|
Config config = new Config();
|
|
Config config = new Config();
|
|
|
- config.useSingleServer().setAddress("redis://"+host+":6379");
|
|
|
|
|
- if(StrUtil.isNotBlank(password)){
|
|
|
|
|
- config.useSingleServer().setPassword(password);
|
|
|
|
|
|
|
+ config.useSingleServer().setAddress(redisProperties.getPrefix() + redisProperties.getHost() + ":" + redisProperties.getPort());
|
|
|
|
|
+ if(StrUtil.isNotBlank(redisProperties.getPassword())){
|
|
|
|
|
+ config.useSingleServer().setPassword(redisProperties.getPassword());
|
|
|
}
|
|
}
|
|
|
return Redisson.create(config);
|
|
return Redisson.create(config);
|
|
|
}
|
|
}
|