DataSourceTask.java 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. package com.xjrsoft.module.job;
  2. import cn.hutool.db.Db;
  3. import com.xjrsoft.common.constant.GlobalConstant;
  4. import com.xjrsoft.common.utils.DatasourceUtil;
  5. import com.xjrsoft.common.utils.DateUtils;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.scheduling.annotation.Scheduled;
  8. import org.springframework.stereotype.Component;
  9. import javax.sql.DataSource;
  10. import java.util.Date;
  11. @Component
  12. @Slf4j
  13. public class DataSourceTask {
  14. /**
  15. * 定时刷新动态数据源连接池
  16. */
  17. @Scheduled(cron = "0 */5 * * * ?")
  18. public void RefreshConnectionPool() {
  19. System.out.printf("定时刷新动态数据源连接池:%s", DateUtils.format(new Date(), DateUtils.DATE_TIME_PATTERN));
  20. DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
  21. try {
  22. Db use = Db.use(datasource);
  23. use.query("select 1");
  24. } catch (Exception e) {
  25. log.error(e.getMessage(), "定时刷新动态数据源连接池");
  26. }
  27. }
  28. }