xxl-job的使用实例
本文來寫篇xxl-job的使用實(shí)例
文章目錄
- 概述
- 使用實(shí)例
- 準(zhǔn)備工作
- 控制面板
- 添加執(zhí)行器和任務(wù)
- 本文小結(jié)
概述
在啟動(dòng)xxl-job服務(wù)端以后,打開控制面板
使用實(shí)例
準(zhǔn)備工作
創(chuàng)建一個(gè)springboot項(xiàng)目來使用xxl-job定時(shí)任務(wù)
引入maven依賴,我用的是2.2.0版本
<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>2.2.0</version> </dependency>編寫配置文件
############################### # Xxl-job配置 ############################### xxl:job:accessToken: default_tokenadmin:addresses: http://192.168.1.112:8088/xxl-job-admin/executor:address:appname: xxl-job-appip:logpath: /data/applogs/xxl-job/jobhandlerlogretentiondays: 30port: 0加一個(gè)配置類
import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;@Configuration public class XxlJobConfig {private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);@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.address}")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;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.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;} }控制面板
編寫一個(gè)任務(wù)類里面是執(zhí)行定時(shí)任務(wù)邏輯
import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.Date;@Slf4j @Component public class JobSample {@XxlJob(value = "printTime")public ReturnT<String> printTime(String param) {log.info(">>>>>>>>>>>>>>>>>" + new Date().toLocaleString()+ " param: " + param + ">>>>>>>>>>>>執(zhí)行");return ReturnT.SUCCESS;} }啟動(dòng)任務(wù)注冊到admin上
添加執(zhí)行器和任務(wù)
進(jìn)入管理頁面,在執(zhí)行器管理頁面新增執(zhí)行器
輸入執(zhí)行器信息,這里的AppName一定要和執(zhí)行器項(xiàng)目中配置文件的相同,如果其多個(gè)執(zhí)行器示例,也一定要保證每個(gè)示例的AppName是相同的
這里的onLine機(jī)器地址是無,過一會(huì)會(huì)自動(dòng)注冊成功。這是注冊成功點(diǎn)擊查看的頁面
添加任務(wù),在任務(wù)管理頁面點(diǎn)擊新增
這里是5秒執(zhí)行一次,值得注意的是,這里的JobHandler要和執(zhí)行方法@XxlJob注解中保持一致
點(diǎn)擊保存后
點(diǎn)擊啟動(dòng),可以看到,每個(gè)5秒鐘執(zhí)行一次
本文小結(jié)
本文編寫了一個(gè)簡單實(shí)例來說明xxl-job的使用實(shí)際情況
總結(jié)
以上是生活随笔為你收集整理的xxl-job的使用实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端每日一解 - setTimeout的
- 下一篇: 字典类Dictionary复制