XXL-JOB框架

【简介】

轻量级分布式任务调度平台:

官网: http://www.xuxueli.com/xxl-job/#/


【入门篇】

官网的文档写的非常详细,可以参考官方文档的步骤进行部署。这里大概的记录下大概的步骤

1、下载源码
XXL-JOB框架_第1张图片

XXL-JOB框架_第2张图片

2、解压并导入idea

XXL-JOB框架_第3张图片

XXL-JOB框架_第4张图片

3、在数据库中生成表

脚本位置:/xxl-job/doc/db/tables_xxl_job.sql

XXL-JOB框架_第5张图片
4、修改 xxl-job-admin 的配置文件

将数据库用户名和密码修改为自己的
XXL-JOB框架_第6张图片

5、启动 xxl-job-admin 项目

因为admin项目是springBoot项目,所以直接启动启动类
XXL-JOB框架_第7张图片
访问地址:http://localhost:8080/xxl-job-admin

XXL-JOB框架_第8张图片
进入登录页面,不用管直接点击“登录”按钮,进入管理首页
XXL-JOB框架_第9张图片

6、配置部署“执行器”项目

xxl提供多种“执行器”项目,因为小编是Java开发,所以常用的是spring和springboot,springboot官网已给出步骤,这里以spring为例
XXL-JOB框架_第10张图片
打开配置文件,确认地址是否正确
XXL-JOB框架_第11张图片
部署到Tomcat中并修改访问端口和路径
XXL-JOB框架_第12张图片
启动Tomcat,查看管理页面
XXL-JOB框架_第13张图片
OK,已经连接上了

编辑任务描述、执行时间、任务名称
XXL-JOB框架_第14张图片
点击“启动”
XXL-JOB框架_第15张图片
查看调用日志
XXL-JOB框架_第16张图片
OK,都成功了


【使用篇】

依葫芦画瓢,把框架加入到自己的项目中来,废话不多说开干,本文以spring项目为例

1、在pom.xml中添加依赖

 
 <dependency>
     <groupId>com.xuxueligroupId>
     <artifactId>xxl-job-coreartifactId>
     <version>2.0.1version>
 dependency>

2、把配置文件copy到自己的项目
XXL-JOB框架_第17张图片
在applicationcontext.xml中导入
XXL-JOB框架_第18张图片
修改xml,在applicationcontext.xml中加载properties配置
XXL-JOB框架_第19张图片

<context:property-placeholder location="classpath:properties/*.properties,classpath:xxl-job-executor.properties"/>

修改applicationcontext-xxl-job.xml:
1)去掉了加载配置文件(因为已经放到上面的文件中加载了)
2)修改扫描包路径


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context.xsd">

    

	
	<context:component-scan base-package="com.manage.jobhandler" />

	
	<bean id="xxlJobSpringExecutor" class="com.xxl.job.core.executor.impl.XxlJobSpringExecutor" init-method="start" destroy-method="destroy" >
		
		<property name="adminAddresses" value="${xxl.job.admin.addresses}" />
		
		<property name="appName" value="${xxl.job.executor.appname}" />
		
		<property name="ip" value="${xxl.job.executor.ip}" />
		
		<property name="port" value="${xxl.job.executor.port}" />
		
		<property name="accessToken" value="${xxl.job.accessToken}" />
		
		<property name="logPath" value="${xxl.job.executor.logpath}" />
		
		<property name="logRetentionDays" value="${xxl.job.executor.logretentiondays}" />
	bean>

beans>

修改xxl-job-executor.properties

### 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

### xxl-job executor address 根据自己的情况配置appname、ip和port
xxl.job.executor.appname=ssmDemo
xxl.job.executor.ip=192.168.52.1
xxl.job.executor.port=9998

### xxl-job, access token
xxl.job.accessToken=

### xxl-job log path
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### xxl-job log retention days
xxl.job.executor.logretentiondays=-1

3、添加jobhandler
XXL-JOB框架_第20张图片

package com.manage.jobhandler;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.xxl.job.core.log.XxlJobLogger;
import org.springframework.stereotype.Component;


/**
 * 任务Handler示例(Bean模式)
 * 
 * 开发步骤:
 * 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
 * 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
 * 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
 * 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
 * 
 * @author xuxueli 2015-12-19 19:43:36
 */
@JobHandler(value="myDemoJobHandler")
@Component
public class MyDemoJobHandler extends IJobHandler {

	@Override
	public ReturnT<String> execute(String param) throws Exception {
		XxlJobLogger.log("myDemo");
		
		// 这里写自己的业务逻辑

		return SUCCESS;
	}
	
}

部署到Tomcat并启动,然后进管理页面

4、在管理页面中新增执行器

勾选手动录入,机器地址是在xxl-job-executor.properties中配置的IP+port
XXL-JOB框架_第21张图片
XXL-JOB框架_第22张图片

5、在“任务管理”中添加任务

根据自己的实际情况填写
XXL-JOB框架_第23张图片
6、启动任务

XXL-JOB框架_第24张图片
7、查看日志
XXL-JOB框架_第25张图片
OK,执行成功

8、查看执行日志
XXL-JOB框架_第26张图片
自己在定时任务中打的日志也显示出来了,一切大功告成


【总结】

XXL-JOB是一个轻量级分布式任务调度框架,可以监控、管理定时任务,还可以进行预警

spring项目加入框架步骤小结:

  1. 添加maven依赖
  2. 添加配置文件
  3. 添加jobhandler
  4. 在管理页面中添加执行器和任务
  5. 启动任务
  6. 查看日志和执行日志

你可能感兴趣的:(定时任务)