参考网上其他文章,总结步骤
更新内容:2.2.0、2.4.0 也可以参考如下步骤
一、官网地址
二、源码地址
github:
GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
gitee:
xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。
三、官网帮助文档
四、本地idea编译源代码(2.3.1版本)
1. 好用的maven setting.xml配置文件(国内镜像)
(之前参考的网上其他作者的配置文件,以后想起来后粘原作者连接)
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf></mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
<!-- 中央仓库在中国的镜像 -->
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
2. mysql生成数据库表
mysql脚本生成数据表 xxl_job_2_3_1(数据库),mysql脚本存放在源码的如下位置
3. 修改配置文件
主要修改数据库连接参数
4. 生成jar包
maven clean install
打开target目录
五、生成bat文件,启动xxl-job-admin服务
xxl-job_2_3_1.bat 文件,将上面生成的jar放到某一目录,如下图 D:\software\xxl-job
bat内容如下
D:
cd D:\software\xxl-job
java -jar xxl-job-admin-2.3.1.jar
六、运行bat文件
七、访问地址
http://localhost:8080/xxl-job-admin/toLogin
默认账号密码: admin/123456
八、传多个动态参数例子
传多个参数时,格式可以如下
代码如下接收
String param = XxlJobHelper.getJobParam();
Map<String, String> paramsMap = new HashMap<>();
try {
if (StringUtils.isNotEmpty(param)) {
String[] methodParams = param.split(",");
if (methodParams != null && methodParams.length > 0) {
for (int i = 0; i < methodParams.length; i++) {
String methodParam = methodParams[i];
String[] parameterNameAndValues = methodParam.split(":");
String paramName = parameterNameAndValues[0];
String paramValue = parameterNameAndValues[1];
paramsMap.put(paramName, paramValue);
}
}
}
} catch (Exception e) {
log.error("error is ", e);
}