0


xxl-job执行器无法自动注册

问题描述

在springboot项目里配置了xxl-job2.3.0,但是执行器无法自动注册
yaml配置如下:

xxl:job:admin:enable:trueaddress: http://192.xxx.xxx.xxx:38080/xxl-job-admin
      password: admin
      username:123456accessToken:executor:appname: test-executor
      address:ip:port:9993logpath: /data/applogs/xxl_job/jobHandler
      logretentiondays:7

执行器无法自动注册到xxl-job-admin
在这里插入图片描述

排查过程

经过debug发现,是spring没有加载xxlJobExecutor这个Bean
debug流程(SpringApplication.run()–>SpringApplication.refreshContext()–>SpringApplication.refresh() -->SpringApplication.finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory))

解决方法

自己配置个xxlJobExecutor Bean
@Configuration@Slf4jpublicclassXxlJobConfig{@Value("${xxl.job.admin.address}")privateString adminAddress;@Value("${xxl.job.executor.address}")privateString address;@Value("${xxl.job.executor.appname}")privateString appName;@Value("${xxl.job.executor.ip}")privateString ip;@Value("${xxl.job.executor.port}")privateint port;@Value("${xxl.job.executor.logpath}")privateString logPath;@Value("${xxl.job.executor.logretentiondays}")privateint logRetentionDays;@Value("${xxl.job.accessToken}")privateString token;@BeanpublicXxlJobSpringExecutorxxlJobExecutor(){
        log.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor =newXxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddress);
        xxlJobSpringExecutor.setAppname(appName);
        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(token);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}}

配置完成后,再次debug启动服务,可以看到beanFactory里有xxlJobExecutor Bean,执行器也注册到了xxl-job-admin
在这里插入图片描述

标签: java spring spring boot

本文转载自: https://blog.csdn.net/weixin_45753881/article/details/130348692
版权归原作者 就是叫这个名字 所有, 如有侵权,请联系我们删除。

“xxl-job执行器无法自动注册”的评论:

还没有评论