一、问题描述
在集群模式部署服务是,会出现所有的定时任务在各自的节点处均会执行一遍,针对这种问题,本文采用springboot集成shedlock的解决方案。
二、具体操作步骤
第一步:引入相关的shedlock相关的jar包,由于项目使用的是mysql数据库,所以采用的是jdbc的解决方案。
net.javacrumbs.shedlock
shedlock-spring
4.5.0
net.javacrumbs.shedlock
shedlock-provider-jdbc-template
4.5.0
第二部:在项目中创建SchduleConfig配置文件(路径为springboot启动类能扫描到的包下面)。
package cn.common.project.config;
import net.javacrumbs.shedlock.core.LockProvider;
import net.javacrumbs.shedlock.provider.jdbctemplate.JdbcTemplateLockProvider;
import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import javax.sql.DataSource;</