XXL-JOB is a lightweight distributed task scheduling framework. It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand. Now, it's already open source, and many companies use it in production environments, real "out-of-the-box".java
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。mysql
——引用自XXL-JOB的GIT项目介绍git
关于XXL-JOB的其余介绍能够参考官网中文文档介绍,它含有丰富的特性,支持分布式和动态任务添加以及权限控制等。github
https://github.com/xuxueli/xxl-job/
xxl-job-2.1.1\xxl-job-2.1.1\doc\db\tables_xxl_job.sql
### xxl-job, datasource spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=root_pwd spring.datasource.driver-class-name=com.mysql.jdbc.Driver ### xxl-job, access token 秘钥填了 下面的子项目要和这个一致 xxl.job.accessToken=
须要注意的是子项目中的配置地址要和admin中的访问首页地址一致:spring
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02" xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
咱们首选须要启动项目中的admin,而后再启动xxl-job-executor-samples下面的内容,这里咱们启动,这里比较简单的方式是经过springboot的例子进行启动,这也是做者推荐的启动方式。sql
启动后访问调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,做为回调地址)数据库
默认登陆帐号 “admin/123456”, 登陆后运行界面以下图所示tomcat
关于job的配置能够参考Demo示例,而后咱们添加时候用BEAN模式,名称为@Service的名称:springboot
/** * 任务Handler示例(Bean模式) * * 开发步骤: * 一、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”; * 二、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例; * 三、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。 * 四、执行日志:须要经过 "XxlJobLogger.log" 打印执行日志; * * @author xuxueli 2015-12-19 19:43:36 */ @JobHandler(value="demoJobHandler") @Component public class DemoJobHandler extends IJobHandler { @Override public ReturnT<String> execute(String param) throws Exception { XxlJobLogger.log("XXL-JOB, Hello World."); System.out.println("XXL-JOB, Hello World."); for (int i = 0; i < 5; i++) { XxlJobLogger.log("beat at:" + i); TimeUnit.SECONDS.sleep(2); } return SUCCESS; } }