【Java】【XXL-job】2.自己的项目调度任务中心

之前,我们已经学习了xxl-job的入门:https://www.cnblogs.com/luyj00436/p/18780550 。这里的任务执行,调用的是demo。

那么我们自己的项目,如果使用xxl-job?自己的项目,相当于执行器,只要把自己的项目,仿造xxl-job-executor-sample-springboot,即可。

步骤

  1. 新建Springboot子项目 ,命名为quartzdemo,并添加项目依赖,主启动类,配置端口号(因为xxl-job任务调度中心端口号是8080,所以我配置了其他端口号2026)。

  2. 添加项目依赖

    <dependency>
    	<groupId>com.xuxueli</groupId>
    	<artifactId>xxl-job</artifactId>
    	<version>2.4.0</version>
    </dependency>
    
  3. 设置配置文件 。配置文件的设置,可以参考xxl-job-executor-sample-springboot的配置文件xxl-job-executor.properties。这里以yaml文件格式为例。

    # xxljob配置
    xxl:
      job:
        admin:
          address: http://127.0.0.1:8080/xxl-job-admin # 调度中心部署地址[选填]
        accessToken: default_token # 执行器通讯Token
        executor:
          address:   # 执行器地址[选填]:默认当前IP
          appname: xxl-job-executor-sample # 执行器AppName
          ip: 127.0.0.1 # 执行器IP
          port: 9998  # 执行器端口号 [选填]: 默认9999,单机部署多个执行器时,注意配置不同执行器端口号
          logpath: /data/applogs/xxl-job/jobhandler # 执行器日志文件存储磁盘路径 [选填]:默认值 user.dir + "/logs/xxl-job/"
          logretentiondays: 30  # 执行日志保留天数 [选填]:默认值 30
    
  4. 添加配置对象。

    @Configuration
    public class XxlJobConfig {
        @Value("${xxl.job.admin.address}")
        private String adminAddress;
        @Value("${xxl.job.executor.appname}")
        private String appname;
    //    @Value("${xxl.job.executor.adress}")
    //    private String address;
        @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
        public XxlJobSpringExecutor xxlJobSpringExecutor(){
            XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
            xxlJobSpringExecutor.setAdminAddresses(adminAddress);
            xxlJobSpringExecutor.setAppname(appname);
    //        xxlJobSpringExecutor.setAddress(address);
            xxlJobSpringExecutor.setIp(ip);
            xxlJobSpringExecutor.setPort(port);
            xxlJobSpringExecutor.setAccessToken(accessToken);
            xxlJobSpringExecutor.setLogPath(logpath);
            xxlJobSpringExecutor.setLogRetentionDays(logretentiondays);
            return xxlJobSpringExecutor;
        }
    }
    
  5. 设置要执行的任务。

    @Component
    public class SimpleXxlJob {
        @XxlJob("demoJobHandler")
        public void demoJobHandler() throws Exception {
            System.out.println("[xxlJob][时间]:" + LocalDateTime.now());
        }
    }
    
  6. 运行xxl-job-admin 和自己新建的子项目。打开任务调度中心的执行管理器,可以发现任务节点已注册。
    image

  7. 配置要执行测试的任务,并启动。可以发现我们新建的子项目(执行器对应项目),已经按规律执行了测试方法。

posted @ 2025-03-28 10:36  陆陆无为而治者  阅读(89)  评论(0)    收藏  举报