一、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异常,后来增加此配置,重启服务,发现服务正常自动注册了,且定时任务与执行日志都现实成功,问题也解决了。