|
@@ -4,6 +4,7 @@ import cn.hutool.core.annotation.AnnotationUtil;
|
|
import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
|
|
import cn.iocoder.yudao.framework.common.enums.WebFilterOrderEnum;
|
|
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
|
import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
|
|
import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
|
|
import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
|
|
|
|
+import cn.iocoder.yudao.framework.redis.config.YudaoCacheProperties;
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnoreAspect;
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnoreAspect;
|
|
import cn.iocoder.yudao.framework.tenant.core.db.TenantDatabaseInterceptor;
|
|
import cn.iocoder.yudao.framework.tenant.core.db.TenantDatabaseInterceptor;
|
|
import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
|
|
import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
|
|
@@ -27,6 +28,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Primary;
|
|
import org.springframework.context.annotation.Primary;
|
|
|
|
+import org.springframework.data.redis.cache.BatchStrategies;
|
|
import org.springframework.data.redis.cache.RedisCacheConfiguration;
|
|
import org.springframework.data.redis.cache.RedisCacheConfiguration;
|
|
import org.springframework.data.redis.cache.RedisCacheManager;
|
|
import org.springframework.data.redis.cache.RedisCacheManager;
|
|
import org.springframework.data.redis.cache.RedisCacheWriter;
|
|
import org.springframework.data.redis.cache.RedisCacheWriter;
|
|
@@ -124,10 +126,12 @@ public class YudaoTenantAutoConfiguration {
|
|
@Bean
|
|
@Bean
|
|
@Primary // 引入租户时,tenantRedisCacheManager 为主 Bean
|
|
@Primary // 引入租户时,tenantRedisCacheManager 为主 Bean
|
|
public RedisCacheManager tenantRedisCacheManager(RedisTemplate<String, Object> redisTemplate,
|
|
public RedisCacheManager tenantRedisCacheManager(RedisTemplate<String, Object> redisTemplate,
|
|
- RedisCacheConfiguration redisCacheConfiguration) {
|
|
|
|
|
|
+ RedisCacheConfiguration redisCacheConfiguration,
|
|
|
|
+ YudaoCacheProperties yudaoCacheProperties) {
|
|
// 创建 RedisCacheWriter 对象
|
|
// 创建 RedisCacheWriter 对象
|
|
RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
|
|
RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
|
|
- RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory);
|
|
|
|
|
|
+ RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory,
|
|
|
|
+ BatchStrategies.scan(yudaoCacheProperties.getRedisScanBatchSize()));
|
|
// 创建 TenantRedisCacheManager 对象
|
|
// 创建 TenantRedisCacheManager 对象
|
|
return new TenantRedisCacheManager(cacheWriter, redisCacheConfiguration);
|
|
return new TenantRedisCacheManager(cacheWriter, redisCacheConfiguration);
|
|
}
|
|
}
|