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 ...
随机推荐
- Xshell出现‘The remote SSH server rejected X11 forwarding request’解决办法
当准备用Xshell进行远程连接的时候出现下面的情况: 那么跟着我来点击鼠标就ojbk了: 文件--->属性--->隧道 然后找打 把那个单选框的对号勾掉,然后点击确认就OK了!!
- iOS rebuild from bitcode对ipa大小的影响
https://developer.apple.com/library/content/technotes/tn2432/_index.html 为了测试一下rebuild from bitcode的 ...
- Windows Internals 笔记——作业
1.Windows提供了一个作业内核对象,它允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么.创建只包含一个进程的作业同样非常有用,因为这样可以对进程施加平时不能施加的限制. 2.如果进 ...
- Leetcode | 组目录
数组 [1]999. 车的可用捕获量 [2]989. 数组形式的整数加法
- Wine中中文显示为错误的解决方案
First u must download wqy-microhei.ttc font online (https://github.com/anthonyfok/fonts-wqy-microhei ...
- windows和linux换行规则的区别
在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符.要是在这 ...
- c&c++中的宏
1 c&c++中的宏 do {...} while (0); offsetof & container_of 2 引用 [1] do {...} while (0) 在宏定义中的作用 ...
- asp+SqlServer2008开发【第三集:win2winSSH远程连接—像连接Linux一样操作】
1,参考:https://blog.csdn.net/flyingshuai/article/details/72897692 和https://blog.csdn.net/nijiayy/artic ...
- P1991 无线通讯网 最小生成树
题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫星电话线路的哨所(两边都 ...
- 20172328 2018-2019《Java软件结构与数据结构》第五周学习总结
20172328 2018-2019<Java软件结构与数据结构>第五周学习总结 概述 Generalization 本周学习了第九章:排序与查找,主要包括线性查找和二分查找算法和几种排序 ...