XXL-JOB之本地环境搭建
一、源码下载
1、官网地址
登录以下地址查看详细搭建步骤: https://www.cnblogs.com/xuxueli/p/5021979.html
2、下载源码
根据1中打开的页面,下载源码,如下图:


二、初始化数据库
1、解压下载的源码

2、初始化数据
mysql中新建xxl-job数据库,并初始化解压文件中的“xxl-job-2.0.1\doc\db\tables_xxl_job.sql”脚本,总共16张表

三、编译源码
1、idea中导入源码,并使用maven编译
2、更改为maven项目
idea中项目结构如下:

四、调度中心配置
1、配置文件设置数据库连接
打开文件地址: xxl-job-2.0.1\xxl-job-admin\src\main\resources\application.properties
设置数据库连接,连接新建的xxl-job数据库,如下图:

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://10.193.129.84:3306/xxl-job?Unicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1qaz2wsx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
2、调度中心登录账号
如下图:

五、部署项目
1、登录
启动项目,登录地址:http://localhost:8080/xxl-job-admin 若“调度中心”配置成功,则如下图:

六、保理云配置“执行器管理”(以下步骤“保理云”即本地项目)
1、配置文件
保理云项目的application.properties文件中配置内容,如下图和代码:

xxl.job.admin.addresses=http://10.28.71.59:8080/xxl-job-admin
xxl.job.executor.appname=springboot
xxl.job.executor.ip=10.28.71.59
xxl.job.executor.port=9999
xxl.job.accessToken=
xxl.job.executor.logpath=d:/tmp
xxl.job.executor.logretentiondays=1
2、说明
xxl.job.admin.addresses:“部署项目”中的登录地址
xxl.job.executor.appname:“执行器管理”页面中的AppName
xxl.job.executor.ip:执行地址,“执行器管理”页面中的“机器地址”的ip
xxl.job.executor.port:执行地址端口,“执行器管理”页面中的“机器地址”的端口

七、保理云项目依赖及xxljob配置
1、配置依赖
在fms.base.job下的pom.xml中添加xxl-job-core的依赖

<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.0.1</version>
</dependency>
2、配置xxljob
在fms.base.job下新建XxlJobConfig.java类,路径:com.iss.base.job.config.XxlJobConfig.java

package com.iss.base.job.config; 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.iss.base.job.impl")//扫描job包的路径
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;
} }
3、复制XxlJobConfig.java
2步骤不用新建,也可以进行如下设置:复制
xxl-job-2.0.1\xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com\xxl\job\executor\core\config\XxlJobConfig.java 进行修改
八、保理云新建jobHandle
1、新建TestJobHandler.java
在fms.base.job下新建TestJobHandler.java类,路径:
com.iss.base.job.impl.TestJobHandler.java
package com.iss.base.job.impl; import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; /**
* <p>Project: com.base <p>
* <p>Module: enterprise.base.job <p>
* <p>Description: 自动任务调度测试类<p>
* <p>Date: 2018-09-14<p>
* @author DELL
* @version 1.0
*/
@JobHandler(value="testJobHandler")
@Service
public class TestJobHandler extends IJobHandler{ private static Logger LOGGER = LoggerFactory.getLogger(TestJobHandler.class);
@Override
public ReturnT<String> execute(String param) throws Exception {
LOGGER.info("---------------执行了--------------------");
return ReturnT.SUCCESS;
} }
2、说明
1中TestJobHandler.java中的@JobHandler的value与“任务管理器”页面中的JobHandler值相同,如下图

九、测试xxl-job调度平台
1、启动项目
启动保理云项目、启动XxlJobAdminApplication
2、任务调度中“执行器管理”添加

3、任务调度中“任务管理”添加

4、测试
任务调度中“任务管理”页面点击“执行”按钮,调用保理云项目中标注有“@JobHandler(value="testJobHandler")”的类中的execute方法
XXL-JOB之本地环境搭建的更多相关文章
- Sonar本地环境搭建
一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境.搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所 ...
- Docker下kafka学习三部曲之二:本地环境搭建
在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...
- AngularJS2之本地环境搭建
前言:本来准备初探AngularJS2,结果成了复习git和再探node git的两个常见问题:一.github上传时出现error: src refspec master does not matc ...
- .NET Exceptionless 日志收集框架本地环境搭建
一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...
- Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用
戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...
- 以太坊remix-ide本地环境搭建
remix-ide简介 remix-ide是一款以太坊官方solisity语言的在线IDE,可用于智能合约的编写.测试与部署,不过某些时候可能是在离线环境下工作或者受限于网速原因,使用在线remi ...
- jekyll本地环境搭建(Windows)
序:最近一直在搞Github建站,所以一直没机会写文章,那边的环境虽然搞好了,但是网站的界面却是个问题,不想用别人的,总想自己设计个,却感觉没经验吧,就一直耽搁了.所以也就没心情在那边写文章,很久没写 ...
- CC2B本地环境搭建步骤及部署问题解决
由于最近的项目是之前没接触过的netbeans+glassfish,记录一下最近在工作中搭建本地环境的步骤及遇到的一些问题解决方法: 1.配置java jdk 此过程中遇到一个问题就是在配置系统环境变 ...
- Redis本地环境搭建
Windows 下环境搭建 1. 设置hosts set duapphosts=127.0.0.1 sqld.duapp.com set redisduapphosts=127.0.0.1 redis ...
- Laravel本地环境搭建:Homestead开发环境的部署
Laravel框架在php开发过程是不断进行优化的,当然也包括了本地环境的开发,下面我们就来具体看看laravel框架中的Homestead 开发环境的部署内容. 首先白以下几个概念 VirtualB ...
随机推荐
- 【原创】大叔问题定位分享(6)Dubbo monitor服务iowait高,负载高
一 问题 Dubbo monitor所在服务器状态异常,iowait一直很高,load也一直很高,监控如下: iowait如图: load如图: 二 分析 通过iotop命令可以查看当前系统中磁盘io ...
- Python编码规范(PEP8)
Introduction 介绍 本文提供的Python代码编码规范基于Python主要发行版本的标准库.Python的C语言实现的C代码规范请查看相应的PEP指南1. 这篇文档以及PEP 257(文档 ...
- javac编译后运行提示找不到或无法加载主类
第一种常见错误: package demo_01; public class hello { public static void main(String[] args) { System.out.p ...
- VIM编辑常用命令
1.临时使用获取root权限保存文件 :w !sudo tee % 2.多标签编辑文件 :tabnew file 3.切换标签 :tabm N (N为第几个标签,从0开始)
- django-admin.py startproject testdj 失败 没有工程文件夹
今天第一次用django创建工程时一直没有反应,没有期望的文件夹出现 第一种:网上查找了一下,发现是因为py文件的默认打开不是python.exe,而是编辑器 解决方法:先随便找一个py文件,点击右键 ...
- Jmeter性能测试之Monitor监控(SSHMon Samples Collector)
前面写的一篇Monitor监控有缺陷, 这篇文章使用Jmeter4.0+的版本, 使用插件SSHMon Samples Collector来做资源监控 1. 官网下载插件: plugins-manag ...
- 基于Python Django开发的一个mock
最近研究了一下python的django框架, 发现这个框架不比Java spring boot差, mock同样一个接口, 代码量少很多, 维护起来也很方便, 废话不多说,直接上代码 1. 安装dj ...
- 简单检测PHP运行效率脚本
<?php $stratTime = microtime(true); $startMemory = memory_get_usage(); $a = 1; for($i = 1; $i < ...
- Spring Boot 静态资源路径分析
最近在接触一个看公司的java后台项目(采用的耶鲁大学开源的一个cas单点登录系统),用的是框架是Spring Boot,用的模板是Thymeleaf,于是我生成一个Spring Boot的项目,并且 ...
- RedisHelper帮助类
using Newtonsoft.Json; using RedLockNet.SERedis; using RedLockNet.SERedis.Configuration; using Stack ...
