spring boot动态数据源配置如何配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot动态数据源配置如何配置相关的知识,希望对你有一定的参考价值。
参考技术A1,需要配置DynamicDataSource,DynamicDataSourceAspect,DynamicDataSourceContextHolder,DynamicDataSourceRegister,TargetDataSource来完成多数据源的配置
2,需要在配置文件中定义多数据源
3,测试过只有在前端调用过程中能够用多数据源,如果在各个中心去配置是行不通的,已经亲测过了。可以看看csdn上的我的这篇文章:
spring boot动态数据源配置
Spring boot 动态的配置Scheduling
参考技术A 一:springboot配置静态定时任务1:pom中添加依赖
2:启动类中加入@EnableScheduling来开启定时任务
3:@Scheduled(cron = "0/10* * * * ?")// 每过10秒执行一次
二: springboot动态配置定时任务:主要动态的配置。
package com.example.demo.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.lang.Nullable;
import org.springframework.scheduling.Trigger;
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ScheduledFuture;
@Component
@Configuration
public class DynamicSchedulingConfig
@Autowired
private ThreadPoolTaskSchedulerthreadPoolTaskScheduler;
@Bean
public ThreadPoolTaskSchedulerthreadPoolTaskScheduler()
return new ThreadPoolTaskScheduler();
private ScheduledFuturefuture;
private Stringcron ="";
public StringgetCron()
return cron;
public void setCron(String cron)
this.cron = cron;
stopCron();
future =threadPoolTaskScheduler.schedule(new Runnable()
@Override
public void run()
try
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
catch (Exception e)
e.printStackTrace();
, new Trigger()
@Nullable
@Override
public DatenextExecutionTime(TriggerContext triggerContext)
if("".equals(cron)||cron==null)
return null;
CronTrigger cronTrigger =new CronTrigger(cron);
Date nextExeDate = cronTrigger.nextExecutionTime(triggerContext);
return nextExeDate;
);
public void stopCron()
if(future!=null)
future.cancel(true);
以上是关于spring boot动态数据源配置如何配置的主要内容,如果未能解决你的问题,请参考以下文章
spring boot 配置文件动态更新原理 以Nacos为例
Spring Boot 动态数据源(Spring 注解数据源)
spring boot 整合 quartz 集群环境 实现 动态定时任务配置原
Spring boot项目分环境Maven打包,动态配置文件,动态配置项目