xxl-job从2.3.0升级到2.4.1版本遇到的问题及解决方法

服务器 0

一、maven升级版本

<!-- xxl-job包 --><dependency>    <groupId>com.xuxueli</groupId>    <artifactId>xxl-job-core</artifactId>    <version>2.4.1</version></dependency>

二、在nacos对应服务的配置文件增加accessToken配置,否则连接异常

xxl:  job:    admin:      addresses: ${XXL_SERVER:http://xx.xxx.xxx.xxx:8083/xxl-job-admin}    executor:      appname: cxxc-sxxxxxe-txxxxxxe      ip:      port: 9997      logpath: /data/cxxc/xxl-job/logs      logretentiondays: -1    accessToken: xxxxxxb_xx_xxxx_xxxxxx

三、在xxl_job的config文件增加accessToken的读取

import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;/** * xxl-job配置 * @Author xxx * @Date 2024/02/04 12:34 */@Configuration@Slf4jpublic class XxlJobConfig {    @Value("${xxl.job.admin.addresses}")    private String adminAddresses;    @Value("${xxl.job.executor.appname}")    private String appName;    @Value("${xxl.job.executor.logpath}")    private String logPath;    @Value("${xxl.job.executor.logretentiondays}")    private int logRetentionDays;    //V2.4.1需增加此处配置读取-1    @Value("${xxl.job.accessToken}")    private String accessToken;    @Bean(initMethod = "start", destroyMethod = "destroy")    public XxlJobSpringExecutor xxlJobExecutor() {        log.info(">>>>>>>>>>> xxl-job config init.");        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);        xxlJobSpringExecutor.setAppname(appName);        xxlJobSpringExecutor.setLogPath(logPath);        xxlJobSpringExecutor.setAccessToken(accessToken); //V2.4.1需增加此处配置读取-2        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);        return xxlJobSpringExecutor;    }}

最后提交并重启服务,看是否自动注册成功

通过查看任务执行器,对应服务已自动注册成功,且执行该服务下定时任务也可以正常执行,且日志也显示成功,那么说明新版本已升级成功

三、遇到的问题

在升级版本,增加配置文件配置后,重启服务,发现提示access token不对,发现配置也对,但是一直刷这个日志,后来才发现,是上述第三步没有执行,没有对新增的access token进行读取,导致注册xxl-job异常,后来增加此配置,重启服务,发现服务正常自动注册了,且定时任务与执行日志都现实成功,问题也解决了。

也许您对下面的内容还感兴趣: