XXL-JOB 的注册表里有记录,不等于管理界面已经有对应的逻辑执行器。2019 年学习搭建调度中心时,我看到 xxl_job_registry 中已有新项目记录,页面却只有官方示例;手动添加执行器配置后才显示出来。
两类信息各自解决什么问题
| 信息 | 表达的内容 |
|---|---|
| 执行器配置 | 一个逻辑执行器的名称、AppName、地址模式等 |
| 注册记录 | 某个执行器实例上报的地址和时间 |
| 有效地址列表 | 管理端按规则匹配、过滤后使用的实例地址 |
旧稿把它评价为“不是真正的自动发现”,这个说法混淆了逻辑管理对象和实例地址更新。创建逻辑对象,与实例自动注册,是可以同时存在的两件事。
用一个明确版本理解匹配关系
以 XXL-JOB 2.1.0 的 JobRegistryMonitorHelper 为阅读对照:它先取自动地址模式的执行器组,再按有效注册记录的 registryKey 组织地址,最后用组的 AppName 查找相应实例并更新地址列表。官方 2.1.0 源码
这是用于解释机制的版本,不冒充旧项目已确认的精确依赖。因此“表里有一行”不足以证明匹配条件和心跳都满足。
按对应关系排查
先查看管理端是否创建了目标执行器,再比较 AppName 与执行器实际上报标识,确认使用自动地址还是手动地址。随后检查心跳是否仍有效、实例地址是否可达,以及调度中心和执行器版本是否配套。
不要直接向注册表插行来制造“已注册”,也不要把实例 IP 当成逻辑执行器名称。旧项目所引用的上游讨论 #378保留了同类问题线索,但不能替代具体版本的配置检查。
验证应同时覆盖界面显示、有效地址以及一次受控调度的结果;界面出现条目只是其中一步。本文记录的是旧配置问题,不据此声称已经在当前环境运行任务。