package com.iplatform.tcp.config;
|
|
import com.iplatform.core.PlatformConfiguration;
|
import com.iplatform.tcp.EquipmentCacheProvider;
|
import com.iplatform.tcp.EquipmentStatusCacheProvider;
|
import com.iplatform.tcp.cache.RedisEquipStatusCacheProvider;
|
import com.iplatform.tcp.cache.RedisEquipmentCacheProvider;
|
import com.iplatform.tcp.service.TcpEquipServiceImpl;
|
import com.iplatform.tcp.service.TcpEquipStatusServiceImpl;
|
import com.walker.support.redis.RedisHelper;
|
import com.walker.support.redis.cache.RedisCacheProvider;
|
import com.walker.tcp.lb.RedisConnectionMetaCache;
|
import com.walker.tcp.lb.RedisConnectionNameCache;
|
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@Configuration
|
@ConditionalOnProperty(prefix = "iplatform.cache", name = "redis-enabled", havingValue = "true", matchIfMissing = false)
|
@ConditionalOnClass({RedisCacheProvider.class})
|
@AutoConfigureAfter(RedisAutoConfiguration.class)
|
public class RedisTcpCacheConfig extends PlatformConfiguration {
|
|
/**
|
* 长连接负载模式中,连接(注册)名称与通道ID关系缓存定义。
|
* @param redisHelper
|
* @return
|
* @date 2023-09-26
|
*/
|
@Bean
|
public RedisConnectionNameCache redisConnectionNameCache(RedisHelper redisHelper){
|
RedisConnectionNameCache cache = new RedisConnectionNameCache();
|
cache.setRedisHelper(redisHelper);
|
return cache;
|
}
|
|
/**
|
* 长连接负载模式中,连接元数据缓存定义。
|
* @param redisHelper
|
* @return
|
* @date 2023-09-26
|
*/
|
@Bean
|
public RedisConnectionMetaCache redisConnectionMetaCache(RedisHelper redisHelper){
|
RedisConnectionMetaCache cache = new RedisConnectionMetaCache();
|
cache.setRedisHelper(redisHelper);
|
// cache.setExpiredSeconds();
|
return cache;
|
}
|
|
@Bean
|
public EquipmentCacheProvider equipmentCacheProvider(RedisHelper redisHelper, TcpEquipServiceImpl tcpEquipService){
|
RedisEquipmentCacheProvider redisEquipmentCacheProvider = new RedisEquipmentCacheProvider();
|
redisEquipmentCacheProvider.setRedisHelper(redisHelper);
|
redisEquipmentCacheProvider.setTcpEquipService(tcpEquipService);
|
return redisEquipmentCacheProvider;
|
}
|
|
@Bean
|
public EquipmentStatusCacheProvider equipmentStatusCacheProvider(RedisHelper redisHelper, TcpEquipStatusServiceImpl tcpEquipStatusService){
|
RedisEquipStatusCacheProvider redisEquipStatusCacheProvider = new RedisEquipStatusCacheProvider();
|
redisEquipStatusCacheProvider.setRedisHelper(redisHelper);
|
redisEquipStatusCacheProvider.setTcpEquipStatusService(tcpEquipStatusService);
|
return redisEquipStatusCacheProvider;
|
}
|
}
|