国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

xxl-job服務(wù)化

這篇具有很好參考價(jià)值的文章主要介紹了xxl-job服務(wù)化。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

xxl-job作為服務(wù),之前使用都是每個(gè)服務(wù)配置信息,采用方法的形式,xxl-job作為服務(wù)的話,只需要進(jìn)行配置

配置信息
## xxljob 配置
xxl:
  job:
    enabled: false
    # 執(zhí)行器通訊TOKEN [選填]:非空時(shí)啟用
    #    accessToken:
    # 單個(gè)地址或多個(gè)地址逗號隔開或 注冊中心服務(wù)名
    adminAddress: http://127.0.0.1:8898/xxl-job-admin
    # 調(diào)度中心的 context-path:
    # jobAdminContextPath: /job-admin
    ### 執(zhí)行器AppName [選填]:執(zhí)行器心跳注冊分組依據(jù);為空則關(guān)閉自動(dòng)注冊
    appname: ${spring.application.name}
    ### 執(zhí)行器注冊 [選填]:優(yōu)先使用該配置作為注冊地址,為空時(shí)使用內(nèi)嵌服務(wù) ”IP:PORT“ 作為注冊地址。
    ### 從而更靈活的支持容器類型執(zhí)行器動(dòng)態(tài)IP和動(dòng)態(tài)映射端口問題。
    #    address:
    #    ip:
    #    port: 9999
    # 執(zhí)行器運(yùn)行日志文件存儲(chǔ)磁盤路徑
    #    logpath: logs/xxl-job
    # 執(zhí)行器日志文件保存天數(shù)
    logRetentionDays: 180
xxl-job創(chuàng)建任務(wù)

xxl-job相關(guān)輸入

clientClass 實(shí)現(xiàn)類

clientMethod 調(diào)用的方法

加參數(shù),比如用戶為張三,年齡18
,"name":"張三","age":18

JobHandler:CommonXxlJobHandler
任務(wù)參數(shù):{"clientClass":"com.sxcoal.station.common.client.admin.JournalismAdminClient","clientMethod":"getNewsHitsTopTenList","type":1}
?

JobHandler 如何通信的呢
CommonXxlJobHandler 作為一個(gè)微服務(wù)的項(xiàng)目,去做了xxl-job的整合,通過反射調(diào)用,核心代碼

package com.sxcoal.station.job.executor.config;

import com.alibaba.fastjson.JSONObject;
import com.sxcoal.common.utils.SpringContextUtils;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.lang.reflect.Method;

@Slf4j
@Component
@RequiredArgsConstructor
public class CommonXxlJob {

    @XxlJob("CommonXxlJobHandler")
    public void CommonXxlJobHandler() throws Exception {

        XxlJobHelper.log("通用任務(wù)執(zhí)行:{}", XxlJobHelper.getJobParam());
        log.info("通用任務(wù)執(zhí)行:{}", XxlJobHelper.getJobParam());
        JSONObject jsonObject = JSONObject.parseObject(XxlJobHelper.getJobParam());
        Object object = SpringContextUtils.getBean(jsonObject.getString("clientClass"));
        Method method = object.getClass().getMethod(jsonObject.getString("clientMethod"), JSONObject.class);
        log.info("通用任務(wù)執(zhí)行 client 調(diào)用返回:{}", method.invoke(object, jsonObject));
    }
}
針對處理的類(DailyPriceClient內(nèi)容)

ServiceNameConstants.JOURNALISM_ADMIN 代表哪個(gè)服務(wù)文章來源地址http://www.zghlxwxcb.cn/news/detail-736762.html

package com.sxcoal.station.common.client.admin;

import com.alibaba.fastjson.JSONObject;
import com.sxcoal.common.domain.RespResult;
import com.sxcoal.common.model.mq.CommonMessageDto;
import com.sxcoal.station.common.constant.ServiceNameConstants;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(
        value = ServiceNameConstants.JOURNALISM_ADMIN
        , contextId = "journalismAdmin"
        , fallbackFactory = JournalismAdminClientFallbackFactory.class
)
public interface JournalismAdminClient {

    //新聞熱榜定時(shí)任務(wù)
    @PostMapping(value = "/news/getNewsHitsTopTenList")
    RespResult<?> getNewsHitsTopTenList(@RequestBody JSONObject json);

}
?異常收集(方法和內(nèi)容一樣,做異常處理)
package com.sxcoal.coalresource.common.client.fallback.admin;

import com.sxcoal.coalresource.common.client.admin.CombinationPackageMiddleClient;
import com.sxcoal.common.domain.RespEnum;
import com.sxcoal.common.domain.RespResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;

import java.util.List;

@Slf4j
@Component
public class CombinationPackageMiddleFallbackFactory implements FallbackFactory<CombinationPackageMiddleClient> {


    @Override
    public CombinationPackageMiddleClient create(Throwable cause) {
        log.error("{} Client 調(diào)用異常: {}", "combinationPackageMiddleService", cause.getMessage(), cause);
        return new CombinationPackageMiddleClient() {
            @Override
            public RespResult<List<Long>> getCombinationIdListBySingleId(Long singleId) {
                return RespResult.error(RespEnum.SERVICE_FALLBACK_ERROR.getMessage(), cause.getMessage());
            }
        };
    }
}
服務(wù)內(nèi)容(實(shí)現(xiàn)的功能)
@ApiOperation(value = "新聞瀏覽量前10列表")
@PostMapping(value = "/getNewsHitsTopTenList")
public RespResult<?> getNewsHitsTopTenList(@RequestBody JSONObject jsonObject) {
    String flagStr = newsService.getNewsHitsTopTenList(jsonObject.getInteger("type"));
    if (StringUtils.equals("true", flagStr)) {
        return RespResult.ok(null, "成功");
    } else if (StringUtils.equals("false", flagStr)) {
        return RespResult.error();
    } else if (StringUtils.equals("news null", flagStr)) {
        return RespResult.error("查詢新聞點(diǎn)擊量前10的數(shù)據(jù)結(jié)果為空!");
    }
    return null;
}

到了這里,關(guān)于xxl-job服務(wù)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot 整合 xxl-job

    官方文檔:https://www.xuxueli.com/xxl-job/ XXL-JOB 是一個(gè)分布式任務(wù)調(diào)度平臺,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴(kuò)展?,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。 說明:官方文檔很重要,而且非常詳細(xì),要慢慢適應(yīng)看官方文檔進(jìn)行學(xué)習(xí)! PS:下面搭

    2023年04月13日
    瀏覽(23)
  • Spring Boot整合 xxl-job

    Spring Boot整合 xxl-job

    目錄 1. 介紹 2. SpringBoot整合xxl-job 2.1. 配置數(shù)據(jù)庫 2.2. 運(yùn)行調(diào)動(dòng)中心 2.3. 整合業(yè)務(wù)服務(wù) 2.3.1. 引入maven依賴 2.3.2.?創(chuàng)建業(yè)務(wù)服務(wù)配置類 2.3.3.?創(chuàng)建定時(shí)任務(wù) xxl-job是一個(gè)分布式定時(shí)器任務(wù)派遣服務(wù),這個(gè)項(xiàng)目主要有以下三部分組成 :? xxl-job-admin: 調(diào)動(dòng)中心,主要是提供任務(wù)管理

    2024年02月13日
    瀏覽(23)
  • spring boot + xxl-job 分布式任務(wù)調(diào)度

    spring boot + xxl-job 分布式任務(wù)調(diào)度

    1、任務(wù)調(diào)度 1.1、什么是任務(wù)調(diào)度 我們可以先思考一下下面業(yè)務(wù)場景的解決方案: 某電商系統(tǒng)需要在每天上午10點(diǎn),下午3點(diǎn),晚上8點(diǎn)發(fā)放一批優(yōu)惠券。 某財(cái)務(wù)系統(tǒng)需要在每天上午10點(diǎn)前結(jié)算前一天的賬單數(shù)據(jù),統(tǒng)計(jì)匯總。 某電商平臺每天凌晨3點(diǎn),要對訂單中的無效訂單進(jìn)行

    2024年02月09日
    瀏覽(29)
  • PaddleOCR 使用 FastDeploy 服務(wù)化部署及postman、java調(diào)用服務(wù)的方法

    PaddleOCR 使用 FastDeploy 服務(wù)化部署及postman、java調(diào)用服務(wù)的方法

    目錄 服務(wù)化部署 postman調(diào)用 java調(diào)用 題外話 部署這塊大部分按著官方文檔來做就差不多 PaddleOCR/deploy/fastdeploy/serving/fastdeploy_serving at dygraph · PaddlePaddle/PaddleOCR · GitHub 提一下兩個(gè)需要注意的點(diǎn)。 一、如果跟我一樣選擇的是cpu的版本,那么修改config.pbtxt配置文件時(shí)不僅得按官方

    2024年02月08日
    瀏覽(23)
  • 微服務(wù)開發(fā)系列 第十一篇:XXL-JOB

    微服務(wù)開發(fā)系列 第十一篇:XXL-JOB

    A、技術(shù)棧 開發(fā)語言:Java 1.8 數(shù)據(jù)庫:MySQL、Redis、MongoDB、Elasticsearch 微服務(wù)框架:Spring Cloud Alibaba 微服務(wù)網(wǎng)關(guān):Spring Cloud Gateway 服務(wù)注冊和配置中心:Nacos 分布式事務(wù):Seata 鏈路追蹤框架:Sleuth 服務(wù)降級與熔斷:Sentinel ORM框架:MyBatis-Plus 分布式任務(wù)調(diào)度平臺:XXL-JOB 消息中間

    2024年02月10日
    瀏覽(23)
  • Java -- XXL-JOB分布式任務(wù)調(diào)度平臺

    Java -- XXL-JOB分布式任務(wù)調(diào)度平臺

    XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴(kuò)展?,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用 xxl是xxl-job的開發(fā)者大眾點(diǎn)評的【許雪里】名稱的拼音開頭 官網(wǎng)地址 分布式任務(wù)調(diào)度平臺XXL-JOB 文檔地址 中文文檔 English Docu

    2024年02月11日
    瀏覽(21)
  • Spring@Scheduled定時(shí)任務(wù)接入XXL-JOB的一種方案(基于SC Gateway)

    Spring@Scheduled定時(shí)任務(wù)接入XXL-JOB的一種方案(基于SC Gateway)

    目前在職的公司,維護(hù)著Spring Cloud分布式微服務(wù)項(xiàng)目有25+個(gè)。其中有10個(gè)左右微服務(wù)都寫有定時(shí)任務(wù)邏輯,采用Spring @Scheduled這種方式。 Spring @Scheduled定時(shí)任務(wù)的缺點(diǎn): 不支持集群:為避免重復(fù)執(zhí)行,需引入分布式鎖 死板不靈活:不支持手動(dòng)執(zhí)行,單次執(zhí)行,補(bǔ)償執(zhí)行,修改

    2024年02月11日
    瀏覽(28)
  • 微服務(wù): xxl-job的安裝(docker),使用及springboot整合[完整版詳解]

    微服務(wù): xxl-job的安裝(docker),使用及springboot整合[完整版詳解]

    XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴(kuò)展?,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。 1.1.1 xxl-job作用 統(tǒng)一管理定時(shí)調(diào)度任務(wù) 相比于 springboot的@Scheduled , 這個(gè)表達(dá)式可以隨意修改 也可以面對更加復(fù)雜的定時(shí)調(diào)度

    2024年02月08日
    瀏覽(22)
  • 【 XXL-JOB】 XXL-JOB任務(wù)分片

    【 XXL-JOB】 XXL-JOB任務(wù)分片

    xxl-job 是一個(gè)分布式任務(wù)調(diào)度平臺,支持定時(shí)任務(wù)和分片任務(wù)。其中,分片任務(wù)可以將一個(gè)大任務(wù)拆分成多個(gè)小任務(wù),分布式地執(zhí)行,提高任務(wù)的執(zhí)行效率和可靠性。分片任務(wù)中,有一種特殊的任務(wù)類型叫做分片廣播任務(wù),可以將一個(gè)任務(wù)廣播到所有的執(zhí)行器節(jié)點(diǎn)上執(zhí)行,本

    2024年02月09日
    瀏覽(22)
  • 定時(shí)任務(wù)特輯 | Quartz、xxl-job、elastic-job、Cron四個(gè)定時(shí)任務(wù)框架對比,和Spring Boot集成實(shí)戰(zhàn)

    定時(shí)任務(wù)特輯 | Quartz、xxl-job、elastic-job、Cron四個(gè)定時(shí)任務(wù)框架對比,和Spring Boot集成實(shí)戰(zhàn)

    專欄集錦,大佬們可以收藏以備不時(shí)之需: Spring Cloud 專欄: Python 專欄: Redis 專欄: TensorFlow 專欄: Logback 專欄: 量子計(jì)算: 量子計(jì)算 | 解密著名量子算法Shor算法和Grover算法 AI機(jī)器學(xué)習(xí)實(shí)戰(zhàn): AI機(jī)器學(xué)習(xí)實(shí)戰(zhàn) | 使用 Python 和 scikit-learn 庫進(jìn)行情感分析 AI機(jī)器學(xué)習(xí) | 基于lib

    2024年02月05日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包