xxl-job 入门第一个完整实例
文章目录
1. xxl-job 概述
官方网址:链接
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
2. 代码示例
点击 Download 下载 demo ,并打开工程。
2.1 创建数据库
工程打开后如下所示,创建数据库,SQL就该工程的 doc 目录下:
创建好的数据库如下所示,我的MySQL版本为5.7.X。
2.2 修改XXL-JOB管理应用的配置
修改配置 application.properties:
修改配置,主要修改 数据库配置,如下三个数据库配置,分别为连接那个数据库,该数据库的用户名、该数据库的密码:
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=syrdbt。
我的完整配置如下所示:
### 1、调度中心项目的端口号以及访问路径
server.port=8080
server.context-path=/xxl-job-admin
### 2、配置静态文件的前缀
spring.mvc.static-path-pattern=/static/**
spring.resources.static-locations=classpath:/static/
### 3、配置模板文件
spring.freemarker.templateLoaderPath=classpath:/templates/
spring.freemarker.suffix=.ftl
spring.freemarker.charset=UTF-8
spring.freemarker.request-context-attribute=request
spring.freemarker.settings.number_format=0.##########
### 4、配置mybatis的mapper文件地址
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
### 5、配置数据库的地址
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=syrdbt
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.tomcat.max-wait=10000
spring.datasource.tomcat.max-active=30
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-interval=30000
### 6、配置报警邮箱
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
### 7、管理界面的登录用户名密码
xxl.job.login.username=admin
xxl.job.login.password=123456
### 8、调度中心通讯TOKEN,非空时启用
xxl.job.accessToken=
### 9、调度中心国际化设置,默认为中文版本,值设置为“en”时切换为英文版本
xxl.job.i18n=
2.3 新建 Job
新建 jobHandler ,HelloJobHandler:
job Handler 的源码如下所示:
package com.xxl.job.executor.service.jobhandler;
import org.springframework.stereotype.Component;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import java.util.Date;
/**
* 任务Handler示例(Bean模式)
* <p>
* 开发步骤:
* 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
* 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
* 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
*/
@JobHandler(value = "helloJobHandler")
@Component
public class HelloJobHandler extends IJobHandler {
@Override
public ReturnT<String> execute(String param) {
String now = new Date().toString();
System.out.println(now + "XXL-JOB, Hello World.");
return SUCCESS;
}
}
2.4 启动XXL-JOB
启动 XxlJobAdminApplication 和 XxlJobExecutorApplication。
启动成功如下图所示:
2.5 新建执行器
登陆xxl-job的管理界面。
登陆Url:http://localhost:8080/xxl-job-admin/jobinfo
账号:admin, 密码:123456 。
登陆成功后进入如下界面:
点击执行器管理,进入执行器管理界面。
新建一个执行器,可以选择自动注册、也可以手动录入,机器地址为127.0.0.1:9999
,执行器信息输入完之后,点击保存即可。
2.6 创建任务
进入任务管理界面,选择刚才创建的任务调度测试
执行器。
点击新增创建任务,该任务5分钟创建执行一次,cron表达式:0/5 * * * * ?
。
任务执行即执行前面我们新建的 HelloJobHandler 的 excute 方法。
3 测试
启动任务。
HelloJobHandler 的 excute 方法被执行,每5秒一次。
任务管理的执行日志存储在 xxl_job_log 这个表中。
参考文献:
更多推荐
所有评论(0)