【XXL-JOB(BUG)】registryResult:ReturnT [code=500, msg=The access token is wrong., content=null
·
XXL-JOB (日常BUG-1)
报错
: >>>>>>>>>>> xxl-job registry fail, registryParam:RegistryParam{registryGroup='EXECUTOR', registryKey='lottery-job', registryValue='http://192.168.3.102:9999/'}, registryResult:ReturnT [code=500, msg=The access token is wrong., content=null]
然后就是没自动注册上去
排查
1、NACOS
xxl:
job:
admin:
addresses: http://192.168.101.51:8088/xxl-job-admin
username: admin
password: 123456
executor:
appname: zhishiku-process-service
# 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。
#从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
address:
# 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;
# 地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
ip:
# 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
port: 9999
title: '知识库定时调度'
# 执行器地址类型:0=自动注册、1=手动录入,默认为0
addressType: 0
logpath: /mydata/server_logs/xxl-job/jobhandler
logretentiondays: 30
accessToken: default_token
这里选择了默认accessToken: default_token
2、代码
public class XxlJobConfig {
@Value("${xxl.job.accessToken}")
private String accessToken;
}
public class XxlJobAutoConfiguration {
@Autowired
XxlJobConfig xxlJobConfig;
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
xxlJobSpringExecutor.setAccessToken(this.xxlJobConfig.getAccessToken());
}
}
查断点排查了很多地方没传错值,换ip、换版本都不行。
3、DOCKER
最后检查docker立马发现问题,DOCKER配置XXL-JOB的数据库时候,设置了token导致前面事故发生
docker run -di -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.101.51:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=123456 --xxl.job.accessToken=zhishiku.dev" \
-p 8088:8080 \
-v /mydata/xxl-job:/data/applogs \
--name xxl-job \
--privileged=true \
--restart=always \
xuxueli/xxl-job-admin:2.4.1
发现问题
没错配置数据库时候还配置了accessToken
--xxl.job.accessToken=zhishiku.dev
因此需要修改上面nacos默认的accessToken
accessToken: zhishiku.dev
测试
大功告成

更多推荐


所有评论(0)