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 ...
随机推荐
- wireshark如何抓取localhost包
1.首先安装NPCAP 下载地址:https://nmap.org/download.html 安装时,记得勾上最后一个选项:wincap模式 安装完成后,一定要重启系统 2.安装wireshark ...
- nginx——location匹配流程图
location匹配流程图 location理解 1.收到url请求后,nginx首先进行精确匹配(有“=”的为精确匹配),如果匹配成功,则直接返回精确匹配结果,如果没有命中则会继续向下进行普通匹配 ...
- javascript中字符串的方法
字符串的方法 charAt();返回字符串指定索引的字符: concat();连接两个或多个字符串: indexOf();返回字符串中检索指定字符第一次出现的位置: lastIndexOf();返回字 ...
- 使用Java API操作HDFS文件系统
使用Junit封装HFDS import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org ...
- Emacs Org-mode 4 超连接
4.1 连接格式 连接的格式非常的简单,示例如下: [[文档内部锚点.外部连接][对连接的描述,可选]] 4.2 内部连接 想要引用或者连接到文档自身内的某个位置,需要引入另外一个概念:anchor( ...
- IP网际协议
IP分类 IP地址分为网络号和主机号,5类不同的IP地址格式如下: A类地址每个网段内最多有224个,也就是16,777,214个. B类地址每个网段内最多有216个,也就是65535个. C类地址每 ...
- beta冲刺1/7
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(1/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 团队完成测试答辩 整理博客 复习接口 接下来的 ...
- Expression Trees 参数简化查询
ASP.NET MVC 引入了 ModelBinder 技术,让我们可以在 Action 中以强类型参数的形式接收 Request 中的数据,极大的方便了我们的编程,提高了生产力.在查询 Action ...
- ionic2中使用极光IM的WebSDK实现即时聊天
本文主要介绍如何在ionic项目中集成极光IM的WebSDK,详细文档可参考官方介绍. 一.准备 1. 注册激光账号,进入开发者服务页面创建应用. 2. 创建应用后须完成对应平台的推送设置,进行应用或 ...
- 堡垒机jumpserver测试记录--安装
一步一步安装(CentOS) 基本都是官网的东西,只是有些坑做了记录. http://docs.jumpserver.org/zh/docs/step_by_step.html 环境 系统: Cent ...