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

【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程

這篇具有很好參考價值的文章主要介紹了【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、概述

在平時的業(yè)務(wù)場景中,經(jīng)常有一些場景需要使用定時任務(wù),比如:

  • 時間驅(qū)動的場景:某個時間點發(fā)送優(yōu)惠券,發(fā)送短信等等。
  • 批量處理數(shù)據(jù):批量統(tǒng)計上個月的賬單,統(tǒng)計上個月銷售數(shù)據(jù)等等。
  • 固定頻率的場景:每隔5分鐘需要執(zhí)行一次。

在Java中,傳統(tǒng)的定時任務(wù)實現(xiàn)方案,比如Timer,Quartz等都或多或少存在一些問題:

  • 不支持集群、不支持統(tǒng)計、沒有管理平臺、沒有失敗報警、沒有監(jiān)控等等

而且在現(xiàn)在分布式的架構(gòu)中,有一些場景需要分布式任務(wù)調(diào)度:

  • 同一個服務(wù)多個實例的任務(wù)存在互斥時,需要統(tǒng)一的調(diào)度。
  • 任務(wù)調(diào)度需要支持高可用、監(jiān)控、故障告警。
  • 需要統(tǒng)一管理和追蹤各個服務(wù)節(jié)點任務(wù)調(diào)度的結(jié)果,需要記錄保存任務(wù)屬性信息等。

顯然傳統(tǒng)的定時任務(wù)已經(jīng)不滿足現(xiàn)在的分布式架構(gòu),所以需要一個分布式任務(wù)調(diào)度平臺,目前比較主流的是elasticjob和xxl-job。

二、安裝

采用的是docker 進行安裝

1、拉取鏡像

ocker pull xuxueli/xxl-job-admin:2.3.0

2、創(chuàng)建數(shù)據(jù)庫

從官網(wǎng)拉取tables_xxl_job.sql數(shù)據(jù)庫表格丟到自己的mysql上去數(shù)據(jù)庫地址

3、創(chuàng)建容器并運行

配置-e PARAMS的參數(shù)可以參照 官網(wǎng) ,和在spring的.properties文件配置類似

  • 如需自定義 mysql 等配置,可通過 “-e PARAMS” 指定,參數(shù)格式 PARAMS=“–key=value --key2=value2” ;
  • 配置項參考文件:/xxl-job/xxl-job-admin/src/main/resources/application.properties
  • 如需自定義 JVM內(nèi)存參數(shù) 等配置,可通過 “-e JAVA_OPTS” 指定,參數(shù)格式 JAVA_OPTS=“-Xmx512m” ;
//配置mysql參數(shù)
docker run -e PARAMS="--server.port=9051 --spring.datasource.url=jdbc:mysql://192.168.0.146:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root  --spring.datasource.password=123456" -p 9051:9051 -v /tmp:/data/applogs --name xxl-job-admin  -d xuxueli/xxl-job-admin:2.3.0

!注意

  • mysql如果是也是部署在docker上的,不要寫成localhost或者127.0.0.1了,要寫ip
  • username和password需要是你數(shù)據(jù)庫的地址
  • xxl_job 是從官網(wǎng)拉取的數(shù)據(jù)庫,如果名字有改動也需要對應(yīng)上
  • 且配置的中間不要有換行等空格符合

【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java

3、查看容器和日志


C:\Users>docker ps -a
CONTAINER ID   IMAGE                         COMMAND                  CREATED          STATUS                      PORTS
                                                                                                NAMES
2227fc303594   xuxueli/xxl-job-admin:2.3.0   "sh -c 'java -jar $J…"   17 minutes ago   Up 17 minutes               0.0.0.0:9051->9051/tcp
                                                                                                xxl-job-admin
7f6c94285299   consul                        "docker-entrypoint.s…"   2 months ago     Exited (255) 2 months ago   8300-8302/tcp, 8301-8302/udp, 8600/tcp, 8600/udp, 0.0.0.0:8500->8500/tcp                                                                                                                                                                                           
                                                                                                
                                                                                                mysql8.0
740eb45a513d   redis                         "docker-entrypoint.s…"   9 months ago     Exited (0) 2 days ago
                                                                                                myredis

查看啟動日志是否有問題,最終success

C:\Users>docker logs -t -f --tail 10f xxl-job-admin
2023-08-04T08:49:28.302253800Z 
2023-08-04T08:49:28.302441500Z   .   ____          _            __ _ _
2023-08-04T08:49:28.302461700Z  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
2023-08-04T08:49:28.302484200Z ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
2023-08-04T08:49:28.302499100Z  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
2023-08-04T08:49:28.302512600Z   '  |____| .__|_| |_|_| |_\__, | / / / /
2023-08-04T08:49:28.302526000Z  =========|_|==============|___/=/_/_/_/
2023-08-04T08:49:28.306031900Z  :: Spring Boot ::                (v2.4.2)
2023-08-04T08:49:28.306065400Z
2023-08-04T08:49:28.438761800Z 16:49:28.434 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - Starting XxlJobAdminApplication using Java 1.8.0_265 on 2227fc303594 with PID 7 (/app.jar started by root in /)
2023-08-04T08:49:28.440836200Z 16:49:28.440 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - No active profile set, falling back to default profiles: default
2023-08-04T08:49:31.210036000Z 16:49:31.209 logback [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 9051 (http)
2023-08-04T08:49:31.226888300Z 16:49:31.226 logback [main] INFO  o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-9051"]
2023-08-04T08:49:31.228067500Z 16:49:31.227 logback [main] INFO  o.a.catalina.core.StandardService - Starting service [Tomcat]
2023-08-04T08:49:31.228668800Z 16:49:31.228 logback [main] INFO  o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.41]
2023-08-04T08:49:31.302073600Z 16:49:31.301 logback [main] INFO  o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring embedded WebApplicationContext
2023-08-04T08:49:31.302455100Z 16:49:31.302 logback [main] INFO  o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2408 ms
2023-08-04T08:49:32.422937800Z 16:49:32.422 logback [main] INFO  c.x.j.a.c.scheduler.XxlJobScheduler - >>>>>>>>> init xxl-job admin success.
2023-08-04T08:49:32.464778700Z 16:49:32.462 logback [xxl-job, admin JobRegistryMonitorHelper-registryMonitorThread] INFO  com.zaxxer.hikari.HikariDataSource - HikariCP - Starting...
2023-08-04T08:49:32.712904100Z 16:49:32.712 logback [main] INFO  o.s.s.c.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2023-08-04T08:49:32.931666500Z 16:49:32.931 logback [main] INFO  o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page template: index
2023-08-04T08:49:33.198892600Z 16:49:33.198 logback [xxl-job, admin JobRegistryMonitorHelper-registryMonitorThread] INFO  com.zaxxer.hikari.HikariDataSource - HikariCP - Start completed.
2023-08-04T08:49:33.854065100Z 16:49:33.853 logback [main] INFO  o.s.b.a.e.web.EndpointLinksResolver - Exposing 2 endpoint(s) beneath base path '/actuator'
2023-08-04T08:49:33.916699800Z 16:49:33.916 logback [main] INFO  o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-9051"]
2023-08-04T08:49:33.949473300Z 16:49:33.948 logback [main] INFO  o.a.c.c.C.[.[.[/xxl-job-admin] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-08-04T08:49:33.949971100Z 16:49:33.949 logback [main] INFO  o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2023-08-04T08:49:33.953091200Z 16:49:33.952 logback [main] INFO  o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms
2023-08-04T08:49:33.956208900Z 16:49:33.955 logback [main] INFO  o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 9051 (http) with context path '/xxl-job-admin'
2023-08-04T08:49:33.987836700Z 16:49:33.986 logback [main] INFO  c.x.job.admin.XxlJobAdminApplication - Started XxlJobAdminApplication in 6.262 seconds (JVM running for 7.286)
2023-08-04T08:49:37.002114700Z 16:49:37.001 logback [xxl-job, admin JobScheduleHelper#scheduleThread] INFO  c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>> init xxl-job admin scheduler success.

4、打開網(wǎng)頁 127.0.0.1:9051/xxl-job-admin/

默認賬號/密碼 :admin/123456
【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java

三、實現(xiàn)注冊測試

1、創(chuàng)建一個SpringBoot項目、添加依賴。

  • 名字隨意
    添加依賴
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency><!-- 官網(wǎng)的demo是2.2.1,中央maven倉庫還沒有,所以就用2.2.0 -->
        <groupId>com.xuxueli</groupId>
        <artifactId>xxl-job-core</artifactId>
        <version>2.2.0</version>
    </dependency>
       <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
</dependencies>

2、添加配置

2.1、添加yml

server:
  port: 8080
spring:
  application:
    name: xxl-test01
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mycinema?serverTimezone=Asia/Shanghai
    username: root
    password: 123456

xxl:
  job:
    admin:
      ### 調(diào)度中心部署根地址 [選填]:如調(diào)度中心集群部署存在多個地址則用逗號分隔。執(zhí)行器將會使用該地址進行"執(zhí)行器心跳注冊"和"任務(wù)結(jié)果回調(diào)";為空則關(guān)閉自動注冊;
      addresses: http://localhost:9051/xxl-job-admin
    executor:
      ### 執(zhí)行器AppName [選填]:執(zhí)行器心跳注冊分組依據(jù);為空則關(guān)閉自動注冊
      appname: xxl-test01
      ### 執(zhí)行器IP [選填]:默認為空表示自動獲取IP,多網(wǎng)卡時可手動設(shè)置指定IP,該IP不會綁定Host僅作為通訊實用;地址信息用于 "執(zhí)行器注冊" 和 "調(diào)度中心請求并觸發(fā)任務(wù)";
      ip: 192.168.0.146
      ### 執(zhí)行器端口號 [選填]:小于等于0則自動獲取;默認端口為9999,單機部署多個執(zhí)行器時,注意要配置不同執(zhí)行器端口;
      port: 3333
      ### 執(zhí)行器運行日志文件存儲磁盤路徑 [選填] :需要對該路徑擁有讀寫權(quán)限;為空則使用默認路徑;
      logPath: logs/jeecg/job/jobhandler/
      logRetentionDays: 30

2.2、添加配置類,用于配置bean

/**
 * @author zhengfuping
 * @version 1.0
 * @description: TODO  執(zhí)行配置,注入到bean容器
 */
@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;
    }
}

2.3、添加執(zhí)行定時Handler

/**
 * @author zhengfuping
 * @version 1.0
 * @description: TODO 具體執(zhí)行測試demo
 */
@Component
@Slf4j
public class XxlJobDemoHandler {
    /**
     * Bean模式,一個方法為一個任務(wù)
     */
    @XxlJob("demoJobHandler")
    public ReturnT<String> demoJobHandler(String param) throws Exception {
        log.info("java, Hello World~~~");
        log.info("獲取參數(shù):",param);
        log.info("----xxl執(zhí)行成功-----");

        return ReturnT.SUCCESS;
    }
}

3、配置客戶端

  • 配置執(zhí)行器,appname需要和yml 的一致
    【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java
  • 配置任務(wù)
    【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java
  • 配置完成之后需要自己手動啟動,可以查看執(zhí)行日志或者手動執(zhí)行
    【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java

4、結(jié)果日志輸出

【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程,中間件,docker,spring boot,容器,xxl-job,java文章來源地址http://www.zghlxwxcb.cn/news/detail-625265.html

到了這里,關(guān)于【2023】XXL-Job 具體通過docker 配置安裝容器,再通過springboot執(zhí)行注冊實現(xiàn)完整流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 2023最新XXL-JOB定時器教程

    2023最新XXL-JOB定時器教程

    1.創(chuàng)建一個名為xxl_job的數(shù)據(jù)庫,執(zhí)行sql ? 2.下載控制中心源碼xxl-job: 一個分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴展。現(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。 - Gitee.com 3.打開控制中心配置你要知道控制中心的ip和端口號項目

    2024年02月01日
    瀏覽(12)
  • Xxl-job安裝部署以及SpringBoot集成Xxl-job使用

    Xxl-job安裝部署以及SpringBoot集成Xxl-job使用

    1、安裝Xxl-job: 可以使用docker拉取鏡像部署和源碼編譯兩種方式,這里選擇源碼編譯安裝。 代碼拉取地址: 官方開發(fā)文檔: 2、打開項目 使用Maven打開項目,下載相關(guān)的jar包依賴。配置相關(guān)配置文件 這里可以參考官方開發(fā)文檔進行配置。 3、初始化數(shù)據(jù)庫 項目中包含數(shù)據(jù)庫

    2023年04月25日
    瀏覽(21)
  • docker安裝單機nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx

    docker安裝單機nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx

    目錄在右側(cè)中部 啟動容器報錯 直接刪除那個name后邊的就可以 首先需要拉取對應(yīng)的鏡像文件: docker pull nacos/nacos-server 掛載目錄: 修改custom.properties配置文件: 啟動nacos容器: 瀏覽器登錄:ip:8848/nacos 賬號:nacos 密碼:nacos 設(shè)置nacos自啟動: docker update --restart=always nacos 拉取鏡

    2024年02月07日
    瀏覽(21)
  • xxl-Job基礎(chǔ)配置

    xxl-Job基礎(chǔ)配置

    介紹: XXL-JOB是一個輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴展?,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。 幾個特性: 1、簡單:支持通過Web頁面對任務(wù)進行CRUD操作,操作簡單,一分鐘上手; 2、動態(tài):支持動態(tài)修改

    2024年02月09日
    瀏覽(25)
  • docker安裝單機nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx、mongo

    docker安裝單機nacos、rocketmq、reids、xxl-job、minio、elasticsearch、kibana、gogs、nginx、mongo

    目錄在右側(cè)中部 啟動容器報錯 直接刪除那個name后邊的就可以 首先需要拉取對應(yīng)的鏡像文件: docker pull nacos/nacos-server 掛載目錄: 修改custom.properties配置文件: 啟動nacos容器: 瀏覽器登錄:ip:8848/nacos 賬號:nacos 密碼:nacos 設(shè)置nacos自啟動: docker update --restart=always nacos 拉取鏡

    2024年02月09日
    瀏覽(17)
  • 基于docker的分布式任務(wù)調(diào)度系統(tǒng)xxl-job搭建

    基于docker的分布式任務(wù)調(diào)度系統(tǒng)xxl-job搭建

    本文所使用的操作系統(tǒng)為: CentOS-7-x86_64-DVD-2009 xxl-job 依賴 mysql,所以必須要安裝mysql才行! 訪問以下鏈接:https://hub.docker.com/_/mysql/ 尋找自己需要的MySQL版本拉取即可 1.下載鏡像 這里未指定版本號,默認拉取的是最新MySQL鏡像 2.導(dǎo)入zip包 下載xxljob項目,查看releases版本 https:

    2024年02月20日
    瀏覽(21)
  • 在linux上面安裝xxl-job2.4.0

    在linux上面安裝xxl-job2.4.0

    由于預(yù)算有限,用不起lambda去跑定時任務(wù),現(xiàn)在只能在EC2上面自己安裝一個單機版的xxl-job了。 在這個頁面下載壓縮包,并本地解壓。 https://github.com/xuxueli/xxl-job/releases 找到它默認身數(shù)據(jù)庫初始化文件: /xxl-job/doc/db/tables_xxl_job.sql 登錄到自己的mysql數(shù)據(jù)庫中: 找到如下文件:

    2024年04月15日
    瀏覽(17)
  • 【分布式任務(wù)調(diào)度】(一)XXL-JOB調(diào)度中心集群部署配置

    【分布式任務(wù)調(diào)度】(一)XXL-JOB調(diào)度中心集群部署配置

    XXL-JOB是一款輕量級的分布式任務(wù)調(diào)度中間件,默認支持6000個定時任務(wù),如果生產(chǎn)環(huán)境的任務(wù)數(shù)量在這個范圍內(nèi),可以選擇使用 XXL-JOB。 XXL-JOB由Quartz這款老牌的任務(wù)調(diào)度中間件演化而來,相對來說,具備以下優(yōu)勢: 操作更簡單,學(xué)習(xí)成本更低 使用異步化調(diào)度,性能更好 有配

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

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

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

    2024年02月09日
    瀏覽(22)
  • 【xxl-job】分布式任務(wù)調(diào)度系統(tǒng)xxl-job搭建

    【xxl-job】分布式任務(wù)調(diào)度系統(tǒng)xxl-job搭建

    XXL-JOB是一個輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴展、開箱即用。 更多介紹,請訪問官網(wǎng):分布式任務(wù)調(diào)度平臺XXL-JOB 前提條件:任務(wù)調(diào)度中心(xxl-job admin)依賴于 mysql,所以必須要安裝mysql才行!安裝mysql有2種方式:docker部署或

    2024年02月16日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包