Skip to content
/ xxl-job Public

本项目是xxl-job 项目的克隆项目,目的在于优化和修复原项目中的问题

License

Notifications You must be signed in to change notification settings

kdyzm/xxl-job

Repository files navigation

XXL-JOB

XXL-JOB, a distributed task scheduling framework.
-- Home Page --

## 使用方式

本项目是xxl-job 项目的克隆项目,目的在于优化和修复原项目中的问题(哇,这个xuxueli作者太懒了,足足有575个issue未解决,有些bug提了也是白提)。原项目中最新的版本号是2.3.0,本项目从2.4.0版本号开始

版本号 解决的问题
2.4.0 移除xxl-job-core中的netty server,使用spring mvc替代netty server的功能,重用客户端spring boot端口号,不再额外开启9999端口号,详情请参考文档:xxl-job滥用netty导致的问题和解决方案
2.4.1 添加xxl-job特殊前缀,防止接口路径和主项目冲突
2.4.2 xxl-job-admin执行日志显示执行器和执行任务
当前master 解决jobParam参数丢失问题;执行日志和任务管理添加执行器筛选功能,解决执行器过多不方便筛选的问题

使用方式很简单,需要先初始化数据库: tables_xxl_job.sql

初始化数据库成功以后,就可以启动xxl-job-admin服务了,可以使用我打包好的docker镜像快速体验,使用docker-compose up -d命令运行以下docker-compose.yaml文件(注意修改yaml文件中的内容)

version: '2'
services:
  xxl-job:
    image: registry.cn-hangzhou.aliyuncs.com/kdyzm/xxl-job-admin:2.4.2
    restart: always
    container_name: xxl-job-admin
    environment:
      - SPRING_PROFILE_ACTIVE=docker
      - SPRING_DATASOURCE_URL=jdbc:mysql://数据库地址:端口号/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
      - SPRING_DATASOURCE_USERNAME=数据库账号
      - SPRING_DATASOURCE_PASSWORD=数据库密码
      - SPRING_MAIL_HOST=smtp.163.com
      - SPRING_MAIL_PORT=465
      - SPRING_MAIL_USERNAME=邮箱账号
      - SPRING_MAIL_FROM=邮箱账号
      - SPRING_MAIL_PASSWORD=邮箱密码
      - SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH=true
      - SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE=true
      - SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_REQUIRED=true
      - SPRING_MAIL_PROPERTIES_MAIL_SMTP_SOCKETFACTORY_CLASS=javax.net.ssl.SSLSocketFactory
    ports:
      - 8083:8080

也可以下载源码:https://github.com/kdyzm/xxl-job 运行xxl-job-admin自行体验下。

服务端启动之后,浏览器访问地址:http://localhost:8080/xxl-job-admin/ 进入管理页面,登录账号密码:admin/admin123

客户端组件

本项目作为单独的xxl-job-admin使用,xxl-job-core已经封装成spring-boot-starter,并上传到了maven中央仓库,GAV坐标如下

<dependency>
    <groupId>cn.kdyzm</groupId>
    <artifactId>xxljob-spring-boot-starter</artifactId>
    <version>1.0.2</version>
</dependency>

源码地址:https://gitee.com/kdyzm/xxljob-spring-boot-starter

客户端引入该starter之后需要配置好配置文件

xxl:
  job:
    admin:
      addresses: http://127.0.0.1:8080/xxl-job-admin
    accessToken: default_token
    executor:
      title: xxl-job-client-demo
      appname: xxl-job-client-demo
      logpath: ./logs
      logretentiondays: 30
      port: 8080

websocket版本

改造文档:爆改xxl-job:websocket版本的改造方案

websocket版本的xxl-job-admin,请切换websocket分支;

websocket版本的客户端组件:https://gitee.com/kdyzm/xxljob-spring-boot-starter/tree/websocket/