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);

 

posted @ 2022-12-26 09:52  党王  阅读(428)  评论(0)    收藏  举报