xxljob的使用
1,项目配置注册不到xxljob执行器管理? xxl-job, executor registry config fail, appname is null.
查看执行器是否读取配置信息。
一、添加依赖
二、启动xxljob服务器
三、将服务注册到xxljob上
主要执行代码
@Slf4j
@Configuration
public class JobConfig {
@Value("${xxl.job.admin.addresses}")
private String adminAddresses;
@Value("${xxl.job.accessToken}")
private String accessToken;
@Value("${xxl.job.executor.appname}")
private String appname;
// @Value("${xxl.job.executor.addresses}")
private String address;
// @Value("${xxl.job.executor.ip}")
private String ip;
@Value("${xxl.job.executor.port}")
private int port;
@Value("${xxl.job.executor.logpath}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
@Value("${xxl.job.start}")
private boolean start;
@Bean
@ConditionalOnProperty(value = "xxl.job.start", havingValue = "true")
public XxlJobSpringExecutor xxlJobExecutor() {
log.info(">>>>>>>>>>> xxl-job config init.");
XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
xxlJobSpringExecutor.setAppname(appname);
xxlJobSpringExecutor.setAddress(address);
xxlJobSpringExecutor.setIp(ip);
xxlJobSpringExecutor.setPort(port);
xxlJobSpringExecutor.setAccessToken(accessToken);
xxlJobSpringExecutor.setLogPath(logPath);
xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
return xxlJobSpringExecutor;
}
}
4,配置注解
@Scheduled(cron = "0 0/1 * * * * ?")
@XxlJob("everyMinuteExecute")
5,在xxljob配置定时任务
创建定时任务
//创建任务 JobInfo job = new JobInfo(); //设置任务属性 job.setJobDesc(lasReminderTriggerConfig.getJobRemark());// job.setAuthor(AuthenticationHelper.getCurrentUser()); job.setAlarmEmail(""); job.setScheduleType("CRON"); job.setScheduleConf(lasReminderTriggerConfig.getCronExpression());// job.setExecutorHandler("defaultReminderJob");// job.setExecutorParam(entity.getId());//设置任务参数 job.setChildJobId(""); job.setMisfireStrategy("DO_NOTHING"); job.setExecutorRouteStrategy("ROUND"); job.setExecutorBlockStrategy("SERIAL_EXECUTION"); job.setExecutorTimeout(0); job.setExecutorFailRetryCount(0); job.setGlueType("BEAN"); String jobInfo = timeTaskService.add(job);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示