分布式任务调度平台XXL-JOB学习笔记-helloworld运行

环境:win10 eclipse java17 mysql8.0.17 xxl-job 2.4

源码:https://github.com/xuxueli/xxl-job/

  1. 导入时按Existing Maven Projects导入,先导入xxl-job-admin(管理平台)和xxl-job-executor-sample-springboot(通过springboot管理的执行器实例)。

如果导入时速度非常慢,或者报错如 Plugin 'org.apache.maven.plugins:maven-resources-plugin:2.6' not found;之类的,很可能是maven没有设置好。打开 Eclipse-Window-Preferences

其中settings.xml中需要修改< settings >标签下的localRepository,并给mirrors标签下添加一个mirror标签,内容是阿里云的网址。

xml 复制代码
  <!--配置maven本地jar仓库,即jar包保存在本机的路径-->
  <localRepository>D:\eclipse\maven\localRespository</localRepository>
... 
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>https://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>

一般这样修改后就不会报错了,必要时可以中止当前进程,重启eclipse再重新导入。

  1. 导入后需要修改一下xxl-job-admin的application.properties,主要是修改datasource,以正确连接数据库:
shell 复制代码
### xxl-job, datasource
spring.datasource.url=(这里一般不用改除非有特殊设置)
spring.datasource.username=(改,比如root)
spring.datasource.password=(改,你的密码)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### 下面是报警用的邮箱,如果需要可以改
### xxl-job, email
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=xxx@qq.com
spring.mail.from=xxx@qq.com
spring.mail.password=xxx
  1. 找到xxl-job-2.4.0\doc\db\tables_xxl_job.sql,使用source导入本地数据库

  2. 分别使用maven build生成xxl-job-admin和xxl-job-executor-sample-springboot。Goals可以随便填,比如

shell 复制代码
clean package -D maven.test.skip=true
  1. 生成之后先用Run As Spring boot App启动xxl-job-admin,然后启动执行器。
shell 复制代码
java -jar xxx.jar

如果先启动执行器,执行器找不到admin会报错。

  1. 打开 http://localhost:8080/xxl-job-admin/,用户名admin,密码123456

    这里我做了一些操作,所以报表页面会多一些东西。原始状态下只有1个任务,1个执行器,调度次数0。
  2. 新建2个测试任务,参考下面填写配置参数


    填完是这个样子:
  3. 点击右侧操作,各执行一次,可以看到调度日志中已有了信息

    如果执行失败了,看一下执行器是不是写错了注册方式。我一开始改成了手动录入,写了http://127.0.0.1:8081,发现是错的。改成自动注册就可以了。此外,AppName对应的是执行器application.properties中的xxl.job.executor.appname,如果那边改了,这里也要改。

    现在看一下执行日志。

bean模式的执行日志:

对应的代码在:

java 复制代码
    /**
     * 1、简单任务示例(Bean模式)
     */
    @XxlJob("demoJobHandler")
    public void demoJobHandler() throws Exception {
        XxlJobHelper.log("XXL-JOB, Hello World.");

        for (int i = 0; i < 5; i++) {
            XxlJobHelper.log("beat at:" + i);
            TimeUnit.SECONDS.sleep(2);
        }
        // default success
    }

再看一下GLUE(Java)模式的日志:

GLUE模式表示能在线修改

在ide里修改即可:

相关推荐
北极熊kw3 分钟前
FreeBSD 安装 Xrdp 后,远程桌面时只显示白色终端 Xterm
linux·运维·服务器·rdp·freebsd·xterm
计算机安禾5 分钟前
【Linux从入门到精通】第28篇:文本处理三剑客(中)——sed 流编辑器
linux·服务器·编辑器
多租户观察室5 分钟前
DNS服务器跟普通服务器有什么区别?
运维·服务器
天下财经热16 分钟前
2026年4月分布式工商业光伏建设企业技术解析!
分布式
凯尔萨厮22 分钟前
创建Springboot空项目
java·spring boot
学术小白人24 分钟前
【见刊通知】ICGEM E2025、IPAT 2025、AISNS 2026、IEAS 2025、BTFM 2026 等数个会议已见刊
运维·服务器·检索·rdlink研发家·见刊
郝学胜-神的一滴25 分钟前
深入epoll封装:event_set与event_add核心原理剖析
linux·服务器·开发语言·网络·c++·unix
梵得儿SHI26 分钟前
SpringCloud 进阶拓展:分布式事务终极解决方案 Seata AT/TCC 模式全栈实战(含生产级避坑指南)
分布式·spring·spring cloud·seata·分布式事务·tcc·tc集群部署
HABuo28 分钟前
【linux(四)】套接字编程--socket套接字及其接口认识
linux·运维·服务器·c语言·c++·ubuntu·centos
小则又沐风a41 分钟前
基础的开发工具(Linux)
linux·运维·服务器