XXL-JOB配置笔记

本人在配置XXL-JOB的配置笔记

一、xxl-job-admin项目配置

1、下载xxl-job,然后导入到IDEA中

	地址1:https://github.com/xuxueli/xxl-job
  	地址2:http://gitee.com/xuxueli0323/xxl-job

2、在xxl-job-admin中的application.properties配置中把 数据库地址和用户名密码修改成自己的

XXL-JOB配置笔记_第1张图片

3、启动xxl-job-admin项目,然后登陆http://127.0.0.1:8080/xxl-job-admin/toLogin就可以看到任务调度中心,看到如下页面

XXL-JOB配置笔记_第2张图片

二、自己项目配置xxl-job

1、在自己的项目pom.xml中加入

	
	
	    com.xuxueli
	    xxl-job-core
	    ${最新稳定版本}
		  	

2、在application.properties配置文件中加入

	### xxl-job admin address list:调度中心部署跟地址:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调"。
	xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
	 
	### xxl-job executor address:执行器"AppName"和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于"调度中心请求并触发任务"和"执行器注册"。执行器默认端口为9999,执行器IP默认为空表示自动获取IP,多网卡时可手动设置指定IP,手动设置IP时将会绑定Host。单机部署多个执行器时,注意要配置不同执行器端口;
	xxl.job.executor.appname=xxl-job-executor
	xxl.job.executor.ip=
	xxl.job.executor.port=9999
	 
	### xxl-job, access token:执行器通讯TOKEN,非空时启用
	xxl.job.accessToken=
	 
	### xxl-job log path:执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限
	xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler/
	 
	### xxl-job log retention days:执行器Log文件定期清理功能,指定日志保存天数,日志文件过期自动删除。限制至少保持3天,否则功能不生效;		

3、创建xxl-job配置类XxlJobConfig

	package com.cn.carsales.utils;

	import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
	import org.slf4j.Logger;
	import org.slf4j.LoggerFactory;
	import org.springframework.beans.factory.annotation.Value;
	import org.springframework.context.annotation.Bean;
	import org.springframework.context.annotation.ComponentScan;
	import org.springframework.context.annotation.Configuration;
	
	/**
	 * xxl-job config
	 *
	 * @author xuxueli 2017-04-28
	 */
	@Configuration
	@ComponentScan(basePackages = "com.cn.carsales.server.impl.jobhandler")
	public class XxlJobConfig {
	    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);
	
	    @Value("${xxl.job.admin.addresses}")
	    private String adminAddresses;
	
	    @Value("${xxl.job.executor.appname}")
	    private String appName;
	
	    @Value("${xxl.job.executor.ip}")
	    private String ip;
	
	    @Value("${xxl.job.executor.port}")
	    private int port;
	
	    @Value("${xxl.job.accessToken}")
	    private String accessToken;
	
	    @Value("${xxl.job.executor.logpath}")
	    private String logPath;
	
	    @Value("${xxl.job.executor.logretentiondays}")
	    private int logRetentionDays;
	    
	    @Bean(initMethod = "start", destroyMethod = "destroy")
	    public XxlJobSpringExecutor xxlJobExecutor() {
	        logger.info(">>>>>>>>>>> xxl-job config init.");
	        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
	        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
	        xxlJobSpringExecutor.setAppName(appName);
	        xxlJobSpringExecutor.setIp(ip);
	        xxlJobSpringExecutor.setPort(port);
	        xxlJobSpringExecutor.setAccessToken(accessToken);
	        xxlJobSpringExecutor.setLogPath(logPath);
	        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
	
	        return xxlJobSpringExecutor;
	    }
	}

4、创建一个xll-job测试类

	package com.cn.carsales.server.impl.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;
	
	import java.util.concurrent.TimeUnit;
	
	/**
	 * 任务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="demoJobHandler")
	@Component
	public class DemoJobHandler extends IJobHandler {
	    @Override
	    public ReturnT execute(String s) throws Exception {
	        XxlJobLogger.log("XXL-JOB, Hello World.");
	
	        for (int i = 0; i < 5; i++) {
	            XxlJobLogger.log("beat at:" + i);
	            TimeUnit.SECONDS.sleep(2);
	        }
	        return SUCCESS;
	    }
	}

4、启动自己的项目

三、配置任务调度中心

1、登陆任务调度中心后,在执行器管理中添加一个名为carsales的执行器,名字可以自定义,需要和自己项目配置文件的xxl.job.executor.appname名称一致

XXL-JOB配置笔记_第3张图片
XXL-JOB配置笔记_第4张图片

2、在任务调度中心的任务管理中添加一个测试任务

XXL-JOB配置笔记_第5张图片
需要注意的是JobHandler需要和测试类@JobHandler值一致,运行模式为BEAN,其他运行模式请参考官方资料进行配置

3、在任务调度中心的任务管理中执行新建的任务,执行成功后可以在调度日志中查看任务成功还是失败,也可以查看任务日志

XXL-JOB配置笔记_第6张图片
笔记到此结束。。。

你可能感兴趣的:(技术总结)