1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        三分鐘搞定 XXL-JOB 分布式任務(wù)調(diào)度平臺(tái)

        共 3518字,需瀏覽 8分鐘

         ·

        2022-05-10 21:01

        ????關(guān)注后回復(fù)?“進(jìn)群”?,拉你進(jìn)程序員交流群????

        前言

        XXL-JOB是一個(gè)輕量級(jí)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)目標(biāo)是開(kāi)發(fā)迅速、學(xué)習(xí)簡(jiǎn)單、輕量級(jí)、易擴(kuò)展?,F(xiàn)已開(kāi)放源代碼并接入多家公司線上產(chǎn)品線,開(kāi)箱即用。

        可以前往Gitee地址進(jìn)行下載使用。

        https://gitee.com/xuxueli0323/xxl-job.git

        xxl-job-admin搭建

        拉取代碼

        代碼結(jié)構(gòu)如下:

        運(yùn)行SQL文件至本地?cái)?shù)據(jù)庫(kù)

        修改xxl-job-admin模塊的yml文件

        啟動(dòng)任務(wù)調(diào)度中心

        瀏覽器訪問(wèn)默認(rèn)地址:http://localhost:8080/xxl-job-admin

        賬號(hào):admin 密碼: 123456 (初始狀態(tài)下)

        登錄成功

        到此為止,第一階段xxl-job-admin模塊的部署就完成啦。

        整合springboot項(xiàng)目

        此部分官方已經(jīng)給出具體案例,我們只需對(duì)趕方案例進(jìn)行整合或修改即可。

        接下來(lái)就是如何整合到自己的springboot項(xiàng)目中

        一、引入maven依賴(lài)

        注意:此處版本要與xxl-job-admin中版本保持一致

        二、引入配置類(lèi)

        只需引入XxlJobConfig配置類(lèi)即可,其他配置類(lèi)為該項(xiàng)目其他配置類(lèi),與此無(wú)關(guān)!

        可以直接從拉取的項(xiàng)目中復(fù)制過(guò)來(lái),無(wú)需任何修改?。。?/p>

        復(fù)制此類(lèi)到你的項(xiàng)目中即可!

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


        ????@Bean
        ????public?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;
        ????}

        ????/**
        ?????*?針對(duì)多網(wǎng)卡、容器內(nèi)部署等情況,可借助?"spring-cloud-commons"?提供的?"InetUtils"?組件靈活定制注冊(cè)IP;
        ?????*
        ?????*????? 1、引入依賴(lài):
        ?????*??????????
        ?????*?????????????org.springframework.cloud
        ?????*?????????????spring-cloud-commons
        ?????*?????????????${version}
        ?????*?????????

        ?????*
        ?????*??????2、配置文件,或者容器啟動(dòng)變量
        ?????*??????????spring.cloud.inetutils.preferred-networks:?'xxx.xxx.xxx.'
        ?????*
        ?????*??????3、獲取IP
        ?????*??????????String?ip_?=?inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
        ?????*/



        }

        三、修改yml配置文件

        xxl:
        ??job:
        ????admin:
        ??????#?調(diào)度中心部署跟地址?[選填]:如調(diào)度中心集群部署存在多個(gè)地址則用逗號(hào)分隔。
        ??????#?執(zhí)行器將會(huì)使用該地址進(jìn)行"執(zhí)行器心跳注冊(cè)"和"任務(wù)結(jié)果回調(diào)";為空則關(guān)閉自動(dòng)注冊(cè);
        ??????addresses:?http://127.0.0.1:8086/xxl-job-admin
        ????#?執(zhí)行器通訊TOKEN [選填]:非空時(shí)啟用;
        ????accessToken:
        ????executor:
        ??????#?執(zhí)行器AppName [選填]:執(zhí)行器心跳注冊(cè)分組依據(jù);為空則關(guān)閉自動(dòng)注冊(cè)
        ??????appname:?xxl-job-executor-mileage
        ??????#?執(zhí)行器注冊(cè)?[選填]:優(yōu)先使用該配置作為注冊(cè)地址,為空時(shí)使用內(nèi)嵌服務(wù)?”IP:PORT“?作為注冊(cè)地址。
        ??????#從而更靈活的支持容器類(lèi)型執(zhí)行器動(dòng)態(tài)IP和動(dòng)態(tài)映射端口問(wèn)題。
        ??????address:
        ??????#?執(zhí)行器IP [選填]:默認(rèn)為空表示自動(dòng)獲取IP,多網(wǎng)卡時(shí)可手動(dòng)設(shè)置指定IP,該IP不會(huì)綁定Host僅作為通訊實(shí)用;
        ??????#?地址信息用于?"執(zhí)行器注冊(cè)"?和?"調(diào)度中心請(qǐng)求并觸發(fā)任務(wù)";
        ??????ip:
        ??????#?執(zhí)行器端口號(hào)?[選填]:小于等于0則自動(dòng)獲??;默認(rèn)端口為9999,單機(jī)部署多個(gè)執(zhí)行器時(shí),注意要配置不同執(zhí)行器端口;
        ??????port:?8088
        ??????#?執(zhí)行器運(yùn)行日志文件存儲(chǔ)磁盤(pán)路徑?[選填]?:需要對(duì)該路徑擁有讀寫(xiě)權(quán)限;為空則使用默認(rèn)路徑;
        ??????logpath:?/data/applogs/xxl-job/jobhandler
        ??????#?執(zhí)行器日志文件保存天數(shù)?[選填]?:?過(guò)期日志自動(dòng)清理, 限制值大于等于3時(shí)生效;?否則, 如-1, 關(guān)閉自動(dòng)清理功能;
        ??????logretentiondays:?30
        logging:
        ??config:?classpath:logback.xml??????

        四、編寫(xiě)測(cè)試類(lèi)

        @Component
        public?class?MileageXxlJob?{
        ????private?static?Logger?logger?=?LoggerFactory.getLogger(SampleXxlJob.class);


        ????/**
        ?????*?1、簡(jiǎn)單任務(wù)示例(Bean模式)
        ?????*/

        ????@XxlJob("mileageJobHandler")
        ????public?void?mileageJobHandler()?throws?Exception?{
        ????????XxlJobHelper.log("XXL-JOB,?Hello?World.");

        ????????for?(int?i?=?0;?i?5;?i++)?{
        ????????????XxlJobHelper.log("beat?at:"?+?i);
        ????????????System.out.println("ok");
        ????????????TimeUnit.SECONDS.sleep(2);
        ????????}
        ????????//?default?success
        ????}
        }????

        項(xiàng)目目錄如下

        編寫(xiě)完成后,啟動(dòng)服務(wù)!(注意啟動(dòng)順序,先啟動(dòng)xxl-job-admin模塊,再啟動(dòng)您的springboot服務(wù))

        五、任務(wù)調(diào)度中心,配置服務(wù)

        1.新增執(zhí)行器

        2.新增任務(wù)

        3.執(zhí)行任務(wù)

        注:測(cè)試選擇執(zhí)行一次即可,如需項(xiàng)目保持運(yùn)行,選擇啟動(dòng)

        4.查看運(yùn)行結(jié)果

        到此,XXL-JOB與SpringBoot的簡(jiǎn)單整合入門(mén)教程就完成了,感謝您的查閱!

        來(lái)源:https://blog.csdn.net/weixin_51130354

        -End-

        最近有一些小伙伴,讓我?guī)兔φ乙恍?面試題?資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤(pán)了,歡迎下載!

        點(diǎn)擊??卡片,關(guān)注后回復(fù)【面試題】即可獲取

        在看點(diǎn)這里好文分享給更多人↓↓

        瀏覽 105
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            成人国产精品一区二区免费麻豆 | 国内精品久久久久影院一蜜桃 | 小骚逼想要| 日本不卡视屏 | 中国肥肥婆XXXX0OO图片 | 亚洲免费观看在线 | 久热免费在线视频 | jizzxxxx18hd麻豆 | 激情无码一区二区三区 | 啊~用力cao嗯cao烂我电影 |