spring boot动态数据源配置如何配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot动态数据源配置如何配置相关的知识,希望对你有一定的参考价值。

参考技术A

1,需要配置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打包,动态配置文件,动态配置项目

从数据库中动态检索 Spring Boot CORS 配置以获取控制器中的特定方法

Spring Boot 多数据源配置