一、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
@Slf4j
public 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异常,后来增加此配置,重启服务,发现服务正常自动注册了,且定时任务与执行日志都现实成功,问题也解决了。
版权归原作者 修心光 所有, 如有侵权,请联系我们删除。