feat:多数据源模块定时器存储
parent
3fccdf3da0
commit
2d4153261b
|
@ -0,0 +1,37 @@
|
|||
package com.zhiLian.business.Job;
|
||||
|
||||
|
||||
import com.zhiLian.business.domain.Entinfo;
|
||||
import com.zhiLian.business.service.impl.EntinfoServiceImpl;
|
||||
import com.zhiLian.common.redis.service.RedisService;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* BingRui.Hou
|
||||
*
|
||||
* @Description 描述
|
||||
* @ClassName ManyJob
|
||||
* @Date 2024/06/06 18:32
|
||||
*/
|
||||
@Component
|
||||
@Log4j2
|
||||
public class ManyJob {
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Autowired
|
||||
private EntinfoServiceImpl entinfoService;
|
||||
|
||||
@Scheduled(cron = "*/10 * * * * *") // 每10分钟执行一次
|
||||
public void manyJob(){
|
||||
redisService.deleteObject("entinfo");
|
||||
List<Entinfo> list = entinfoService.list();
|
||||
redisService.setCacheList("entinfo",list);
|
||||
}
|
||||
}
|
|
@ -7,6 +7,7 @@ import com.zhiLian.common.swagger.annotation.EnableCustomSwagger2;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
* BingRui.Hou
|
||||
|
@ -19,6 +20,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
|||
@EnableCustomSwagger2
|
||||
@EnableMyFeignClients
|
||||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
public class ZhiLianBusinessApplication {
|
||||
public static void main (String[] args) {
|
||||
SpringApplication.run(ZhiLianBusinessApplication.class, args);
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.zhiLian.common.swagger.annotation.EnableCustomSwagger2;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
/**
|
||||
* BingRui.Hou
|
||||
|
|
|
@ -33,8 +33,6 @@ import java.util.Map;
|
|||
@AutoConfigureBefore(RedisService.class)
|
||||
public class ManyDataSource {
|
||||
|
||||
@Autowired
|
||||
private RedisService redisService;
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate<String,String> redisTemplate;
|
||||
|
@ -90,4 +88,8 @@ public class ManyDataSource {
|
|||
dynamicDataSource.setDefineTargetDataSources(dataSourceMap);
|
||||
return dynamicDataSource;
|
||||
}
|
||||
|
||||
public void init(){
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ public class DruidDataSourceFactory {
|
|||
druidDataSource.setConnectionErrorRetryAttempts(0);
|
||||
try {
|
||||
druidDataSource.getConnection(2000);
|
||||
log.info("{} -> 数据源连接成功", dataSourceInfo.getKey());
|
||||
log.info("{} -> 数据源连接成功", dataSourceInfo);
|
||||
return druidDataSource;
|
||||
} catch (SQLException throwables) {
|
||||
log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword());
|
||||
|
|
|
@ -31,18 +31,18 @@ public class DataSourceService {
|
|||
@Resource
|
||||
private DynamicDataSource dynamicDataSource;
|
||||
|
||||
public void addDataSource(DataSourceInfo dataSourceInfo){
|
||||
addDefineDynamicDataSource(druidDataSourceFactory.create(dataSourceInfo), dataSourceInfo.getKey());
|
||||
}
|
||||
// public void addDataSource(DataSourceInfo dataSourceInfo){
|
||||
// addDefineDynamicDataSource(druidDataSourceFactory.create(dataSourceInfo), dataSourceInfo.getKey());
|
||||
// }
|
||||
|
||||
/**
|
||||
* @Description: 将新增的数据源加入到备份数据源map中
|
||||
* @Author Dongzl
|
||||
*/
|
||||
public void addDefineDynamicDataSource(DruidDataSource druidDataSource, String dataSourceName){
|
||||
Map<Object, Object> defineTargetDataSources = dynamicDataSource.getDefineTargetDataSources();
|
||||
defineTargetDataSources.put(dataSourceName, druidDataSource);
|
||||
dynamicDataSource.setTargetDataSources(defineTargetDataSources);
|
||||
dynamicDataSource.afterPropertiesSet();
|
||||
}
|
||||
// public void addDefineDynamicDataSource(DruidDataSource druidDataSource, String dataSourceName){
|
||||
// Map<Object, Object> defineTargetDataSources = dynamicDataSource.getDefineTargetDataSources();
|
||||
// defineTargetDataSources.put(dataSourceName, druidDataSource);
|
||||
// dynamicDataSource.setTargetDataSources(defineTargetDataSources);
|
||||
// dynamicDataSource.afterPropertiesSet();
|
||||
// }
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue