任务调度xxljob的使用记录

这篇具有很好参考价值的文章主要介绍了任务调度xxljob的使用记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.基本使用

a.下载代码,地址:https://gitee.com/xuxueli0323/xxl-job.git
任务调度xxljob的使用记录,springboot,spring boot,java
b.执行sql,修改配置,启动任务调度中心的代码
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java
启动代码后任务调度中心访问地址:http://localhost:8080/xxl-job-admin(自己机器的ip)
默认账号密码:admin/123456
任务调度xxljob的使用记录,springboot,spring boot,java
c.编写执行器注册到任务调度中心(参考上述示例)
相关配置

# 指定要连接的任务调度中心地址
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin

# 连接任务调度中心的token
xxl.job.accessToken=default_token

# 指定当前应用的名称
xxl.job.executor.appname=zwb-test

#  这个是ip和port的组合
#xxl.job.executor.address=

### 指定到任务中心的ip
xxl.job.executor.ip=127.0.0.1

# 指定通信的端口
xxl.job.executor.port=9999

# 指定任务执行的日志
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler

# 日志保存时间
xxl.job.executor.logretentiondays=30

编写一个配置类

package com.example.demo.xxljob.config;

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;

// 将上述在配置文件中配置信息读取,注册一个XxlJobSpringExecutor对象
@Configuration
public class JobConfig {

    @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() {
        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;
    }

    /**
     * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;
     *
     *      1、引入依赖:
     *          <dependency>
     *             <groupId>org.springframework.cloud</groupId>
     *             <artifactId>spring-cloud-commons</artifactId>
     *             <version>${version}</version>
     *         </dependency>
     *
     *      2、配置文件,或者容器启动变量
     *          spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
     *
     *      3、获取IP
     *          String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
     */


}

注册一个定时任务

@Component
public class JobExample {
    @XxlJob("execute1")
    public void execute1() {
        System.out.println("用来测试xxl-job是否连通");
    }

}

d.启动该代码后去任务调度中心配置相关数据
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java
e.启动相关定时任务
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java

2.基于集群的使用

a.搭建集群:基于上述的使用,赋值一份执行器代码,只需要更改xxl-job的通信端口即可完成集群的部署
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java

b.集群配置
任务调度xxljob的使用记录,springboot,spring boot,java
任务调度xxljob的使用记录,springboot,spring boot,java

3.路由策略是分片广播的使用

当我们的定时任务的任务量较大时,我们可以将任务进行切分,采用多台机器同时执行来帮助我们加快定时任务的执行。xxl-job分片广播模式下会让所有的定时任务同时执行,但是会提供一个叫分片总数的参数来告诉每一个执行者目前该定时任务有多少实例,然后我们人为的可以将任务进行划分来执行。文章来源地址https://www.toymoban.com/news/detail-858720.html

 @XxlJob("execute1")
 public void execute1() {
     // 分片总数 :总数为该任务的实例数
     XxlJobHelper.getShardTotal();
     System.out.println("用来测试xxl-job是否连通");
 }

到了这里,关于任务调度xxljob的使用记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java基于Spring Boot的灾害应急救援评估调度平台

    灾害应急救援平台的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。(1)鉴于该系统是一款面向全体使用者的系统,管理者需

    2024年01月16日
    浏览(50)
  • Spring Boot进阶(68):如何用SpringBoot轻松实现定时任务?集成Quartz来帮你!(附源码)

            Quartz是一个非常流行的开源调度框架,它提供了许多强大的功能,如定时任务调度、作业管理、任务持久化等。而SpringBoot是目前Java开发中非常流行的框架之一,其对各种开源框架集成非常方便。本篇文章将介绍如何在SpringBoot中集成Quartz,以便于更好的管理和调度

    2024年02月07日
    浏览(54)
  • Spring Boot进阶(69):轻松实现定时任务持久化!SpringBoot集成quartz带你玩转定时任务删除、暂停、获取等操作!【附项目源码】

            现如今,随着市场竞争加剧,各个企业都在不断寻求提高效率、降低成本的方法,此时使用自动化工具已成为必不可少的选择。而在众多的自动化工具中,定时任务已经成为一项必备工具,而Quartz就是一个非常好用的定时任务框架,它的轻量级、高可靠性、易于使

    2024年02月09日
    浏览(60)
  • 初级 - 若依框架 - Java Spring/Spring Boot 项目理解记录

    一般情况下,我们创建对象都是 类名 + 类引用名 = new 类名() 但是如果是不想要 等于号后面的对象实例化操作,那么可以使用 @Autowired 注解,当然这是在使用 Spring 时,才能这样,不然一般情况下,也没法用这个注解。用了这个 @Autowired 注解,会让 Spring 自动帮你托管这个对象

    2024年02月16日
    浏览(52)
  • 使用java实现 分布式任务调度平台XXL-JOB 部署及使用

    XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 详细的特性和优点参考官网地址:https://www.xuxueli.com/xxl-job/ 一、任务调度 0.下载官方源码 1.解压后可以在 xxl-job-2.3.1docdb 找

    2024年02月11日
    浏览(51)
  • Spring Boot 中的任务执行器是什么,如何使用

    Spring Boot 是一个非常流行的 Java 开发框架,它的核心理念是通过简单的配置和约定来提高开发效率。在很多情况下,我们需要在后台执行一些任务,比如异步处理、定时任务等等。为了简化这些任务的开发和管理,Spring Boot 提供了一个任务执行器(Task Executor)。 任务执行器

    2024年02月15日
    浏览(36)
  • Java实战:Spring Boot实现AOP记录操作日志

    本文将详细介绍如何在Spring Boot应用程序中使用Aspect Oriented Programming(AOP)来实现记录操作日志的功能。我们将探讨Spring Boot集成AOP的基本概念,以及如何使用Spring Boot实现AOP记录操作日志。最后,我们将通过一个具体示例来演示整个实现过程。本文适合已经具备Spring Boot基础

    2024年02月22日
    浏览(59)
  • 使用Spring Boot AOP实现日志记录

    目录 介绍 1.1 什么是AOP 1.2 AOP体系与概念 AOP简单实现 2.1 新建一个SpringBoot项目,无需选择依赖 2.2 设置好本地Maven配置后,在pom.xml文件里添加添加maven依赖 2.3 创建一个业务类接口 2.4 在实体类实现接口业务  2.5 在单元测试运行结果 2.6 创建切面类 2.7 再次运行测试  总结 1.

    2024年02月14日
    浏览(55)
  • xxljob后台集群部署如何避免重复执行任务

    工作中有一场景,后台部署2个节点,同时注册到执行器内,如何避免任务重复执行呢? 其实xxl-job本身已经考虑到这一点,我们只需要在创建任务的时候这样做就可以了: 路由策略:选择 一致性HASH 阻塞处理策略:选择 丢弃后续调度 引自:xxl-job官网

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包