配置文件内容如下:
@Configuration public class XxlJobConfig { private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); @Value("${xxl.job.admin.addresses}") private String adminAddresses; @Value("${xxl.job.executor.appname}") private String appName; @Value("${xxl.job.executor.ip}") private String ip; @Value("${xxl.job.executor.port}") private int port; @Value("${xxl.job.accessToken}") private String accessToken; @Value("${xxl.job.executor.logpath}") private String logPath; @Value("${xxl.job.executor.logretentiondays}") private int logRetentionDays; @Bean(initMethod = "start", destroyMethod = "destroy") public XxlJobSpringExecutor xxlJobExecutor() { logger.info(">>>>>>>>>>> xxl-job config init."); XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); xxlJobSpringExecutor.setAdminAddresses(adminAddresses); xxlJobSpringExecutor.setAppName(appName); xxlJobSpringExecutor.setIp(ip); xxlJobSpringExecutor.setPort(port); xxlJobSpringExecutor.setAccessToken(accessToken); xxlJobSpringExecutor.setLogPath(logPath); xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); return xxlJobSpringExecutor; } /** * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP; * * 1、引入依赖: ** * * 2、配置文件,或者容器启动变量 * spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.' * * 3、获取IP * String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); */ } //替换成自己的IP地址org.springframework.cloud *spring-cloud-commons *${version} *
@JobHandler(value = “mkProStoJobHandler”) 需要特别注意这个注解value的值就是后面定时任务调的任务名称 如xxxxJobHandler
示例:
@JobHandler(value = "mkProStoJobHandler") @Component public class MkProStoJobHandler extends IJobHandler { @Override public ReturnTexecute(String s) throws Exception { System.out.println("--------------------------------进入定时任务-------------------------"); return SUCCESS; } }
1.执行器选择一个自己配置的模块执行器 2.任务描述:输入定时任务描述 3.Cron:定时时间表达式 4.JobHandler:jobhandler文件里的定时任务注解注明的value如:xxxxJobHandler 5.其余参数可不填写 6.添加任务之后直接启动任务即可