一、源码下载

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之本地环境搭建的更多相关文章

  1. Sonar本地环境搭建

    一个新项目准备上线提测了,为了在提测之前做一下代码走查,同时了解项目目前的质量情况,就在本地搭建了一套sonar环境.搭建的过程中遇到了很多问题,sonar官方已不再维护Eclipse的svn插件,所 ...

  2. Docker下kafka学习三部曲之二:本地环境搭建

    在上一章< Docker下kafka学习,三部曲之一:极速体验kafka>中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来 ...

  3. AngularJS2之本地环境搭建

    前言:本来准备初探AngularJS2,结果成了复习git和再探node git的两个常见问题:一.github上传时出现error: src refspec master does not matc ...

  4. .NET Exceptionless 日志收集框架本地环境搭建

    一.简介 Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等 ...

  5. Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...

  6. 以太坊remix-ide本地环境搭建

    remix-ide简介 ​ remix-ide是一款以太坊官方solisity语言的在线IDE,可用于智能合约的编写.测试与部署,不过某些时候可能是在离线环境下工作或者受限于网速原因,使用在线remi ...

  7. jekyll本地环境搭建(Windows)

    序:最近一直在搞Github建站,所以一直没机会写文章,那边的环境虽然搞好了,但是网站的界面却是个问题,不想用别人的,总想自己设计个,却感觉没经验吧,就一直耽搁了.所以也就没心情在那边写文章,很久没写 ...

  8. CC2B本地环境搭建步骤及部署问题解决

    由于最近的项目是之前没接触过的netbeans+glassfish,记录一下最近在工作中搭建本地环境的步骤及遇到的一些问题解决方法: 1.配置java jdk 此过程中遇到一个问题就是在配置系统环境变 ...

  9. Redis本地环境搭建

    Windows 下环境搭建 1. 设置hosts set duapphosts=127.0.0.1 sqld.duapp.com set redisduapphosts=127.0.0.1 redis ...

  10. Laravel本地环境搭建:Homestead开发环境的部署

    Laravel框架在php开发过程是不断进行优化的,当然也包括了本地环境的开发,下面我们就来具体看看laravel框架中的Homestead 开发环境的部署内容. 首先白以下几个概念 VirtualB ...

随机推荐

  1. [HAOI2015]树上操作-树链剖分

    #include<bits/stdc++.h> using namespace std; const int maxn = 1e6+5; #define mid ((l+r)>> ...

  2. vue-标签页组件

    content <template> <div class="tab-content"> <TabBar v-model="activeKe ...

  3. 初学python之路-day03

    我在前面的文章提到了变量的概念,这里详细介绍下变量的命名.变量名,只能是字母.数字及下划线 "_" 任意组成,而且不能以数字开头.在命名变量时,尽量避免与系统关键词重名,如:'an ...

  4. liunx 下WebBench 安装与压力测试

    安装: wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd ...

  5. windows10 php7安装mongodb 扩展及其他扩展的思路

    1. 打开phpinfo 查看 nts(非线程) 还是 ts (线程),然后查看操作位数 注: 86 等于 32 位 ,和你的windows系统64 or 32位无关.比如我的: 2. 下载对应的版本 ...

  6. Vertx eventbus模块解析

    eventbus 事件總線 協議棧 TCP分包,粘包解決採用方案: 消息定长(定義消息体總长度),消息分为消息头和消息体 dataType bytes description int 4 包体总大小 ...

  7. Windows下多个Mysql实例配置主从(转)

    https://www.cnblogs.com/jpfss/p/8143720.html 序:     网上有很多类似的文章,也是各种百度出来的,但是对于多数刚开始接触MYSQL主从的小白来说,网上文 ...

  8. Spring Boot整合邮件发送

    概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...

  9. c&c++中的宏

    1 c&c++中的宏 do {...} while (0); offsetof & container_of 2 引用 [1] do {...} while (0) 在宏定义中的作用 ...

  10. AtCoder Grand Contest 030 (AGC030) C - Coloring Torus 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/AGC030C.html 题解 才发现当时是被题意杀了. 当时理解的题意是“对于任意的 (i,j) ,颜色 i 和 ...