使用 xxl-job 已久, 但一直没有官方的 spring-boot-starter, 都是内部自己实现的 spring-boot-starter.
此提交以 a1d4f1a 为基础, 添加了 xxl-job-spring-boot-starter 子模块, 并以 samples 的 springboot 为示例.

遵循约定优于配置的原则, 提供更多的默认配置, 加强开箱即用性.
内容包括:
0. admin 的 addresses, 必须提供, 集群 admin 的 address 与 xxl-job 一致

  1. 按端口范围自动查找可用端口, 沿用 NetUtil.findAvailablePort, 默认范围: [30000, 49151], 也可手工指定
  2. IP和IP偏好, 提供IP则直接使用, 否则按偏好遍历本机网卡IP, 进行startWith匹配, 均无则 IpUtil.getIp()
  3. appName 可手工指定, 留空则取值 ${spring.application.name}
  4. logPath 默认 ${user.home}/logs/xxl-job/${appName}/, 也可手工指定
  5. logRetentionDays 默认 30 天, 也可手工设置天数
  6. enable 默认 true, 若手工指定为 false, 则启动时不创建 XxlJobSpringExecutor, 可用于本机环境

添加此 starter 包, 即会自动启动 executor, 除非手动将 xxl-job.executor.enable 设为 false

开发:
pull代码后, 本机 mvn clean compile install.
此时 target/xxl-job-spring-boot-starter*.jar 内会包含 spring-configuration-metadata.json
采用 Spring Tools 或 IDEA 企业版, 即拥有 application.yml 的自动配置提示
(IDEA 企业版提供 SpringBoot 支持, 社区版无)

具体可用 samples 中的 springboot 示例进行测试