首页 > 其他分享 >SpringBoot集成Xxl-Job

SpringBoot集成Xxl-Job

时间:2022-10-14 16:57:20浏览次数:65  
标签:SpringBoot Job private job Value executor xxlJobSpringExecutor Xxl xxl

Xxl-Job介绍

开源社区:https://www.xuxueli.com/xxl-job

下载地址:https://gitee.com/xuxueli0323/xxl-job.git

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

导入sql语句

下载gitee项目源码,打开至/xxl-job/doc/db目录下sql文件,导入数据库中生成以下数据表
image

引入xxl-job依赖

<dependency>
   <groupId>com.xuxueli</groupId>
   <artifactId>xxl-job-core</artifactId>
   <version>${xxl-job.version}</version>
</dependency>

添加配置文件

xxl:
  job:
    admin:
      # xxl-job后台管理界面的地址
      addresses: http://127.0.0.1:8080/xxl-job-admin
    executor:
      # 此执行器的名称
      appname: first-study
      # 此执行器的端口
      port: 38801
      # 此执行器的日志存放路径
      logpath: logs/xxl-job/first-study
      # 此执行器的日志保存时间
      logretentiondays: 7

添加配置类

@Configuration
@Data
public class XxlJobProperties {

    @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;
}
@Configuration
@RequiredArgsConstructor
public class BeanConfig {

    private final XxlJobProperties xxlJobProperties;

    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses());
        xxlJobSpringExecutor.setAppname(xxlJobProperties.getAppname());
//        xxlJobSpringExecutor.setAddress(address);
//        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(xxlJobProperties.getPort());
//        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(xxlJobProperties.getLogPath());
        xxlJobSpringExecutor.setLogRetentionDays(xxlJobProperties.getLogRetentionDays());
        return xxlJobSpringExecutor;
    }
}

添加xxl-job测试

在启动类上添加注解@EnableScheduling

@Slf4j
@Component
@RequiredArgsConstructor
public class XxlJobTest {

    @XxlJob("xxlJobTest")
    public ReturnT<String> xxlJobTest(String date) {
        log.info("---------xxlJobTest定时任务执行成功--------");
        return ReturnT.SUCCESS;
    }
}

访问任务调度中心界面

地址:http://127.0.0.1:9080/xxl-job-admin/ ,用户密码:admin/123456
image

xxl-job-admin添加执行器

image
此处的AppName填你项目中配置的xxl.job.executor.appname名称。选择自动注册,保存即可。

添加任务

image
选择刚刚添加的执行器,然后点击“新增”按钮,新增任务:
image

注意:此处的JobHandler填@XxlJob注解后面的值。
此时点击“操作-启动”,定时任务就运行了。以上示例中是每分钟运行一次。

测试

当启动我们的测试项目,会发现打印的启动日志已经注册到xxl-job。然后就能看到已经成功执行定时任务并打印日志。
image

标签:SpringBoot,Job,private,job,Value,executor,xxlJobSpringExecutor,Xxl,xxl
From: https://www.cnblogs.com/zhaojinhui/p/16792110.html

相关文章

  • SpringBoot中Server层以及Mapper层常用注解
    4.Service层注解@Service注解一般写在业务层的接口实现类上,而不是接口上。4.1@Service@Service:@Service注解用于类上,标记当前类是一个service类,加上该注解会将当......
  • springboot+resttemplat+请求拦截器
    参考:https://www.cnblogs.com/kaibindirver/p/15527052.html   创建配置文件来注册拦截器MyMvcConfig1packagecom.config;23importcom.controle.lanj......
  • Springboot整合MQTT
    业务场景硬件采集的数据传入EMQX平台(采用MQTT协议),java通过代码连接MQTT服务器,进行采集数据接收、解析、业务处理、存储入库、数据展示。MQTT是基于发布(Publish)/订......
  • springboot+swagger
    参考:https://www.cnblogs.com/kaibindirver/p/14948036.html目录结构 maven依赖,在pom.xml添加配置1<dependency>2<groupId>io.springfox</group......
  • SpringBoot(三) - Slf4j+logback 日志,异步请求,定时任务
    1、Slf4j+logback日志SpringBoot框架的默认日志实现:slf4j+logback;默认日志级别:info,对应了实际生产环境日志级别;1.1日志级别#常见的日志框架中,日志级别都包含五种,......
  • SpringBoot 2.x 集成kaptcha生成图形验证码
    Kaptcha框架介绍谷歌开源的一个可高度配置的实用验证码生成工具验证码的字体/大小/颜色验证码内容的范围(数字,字母,中文汉字!)验证码图片的大小,边框,边框粗细,边框颜色......
  • 初识SpringBoot
    什么是SpringSpring是一个开源框架,2003年兴起的轻量级的Java开发框架。作者:RodJohnsonSpring是为解决企业级应用开发的复杂性而创建的,简化开发。Spring如何简化Java......
  • 152-《大数据架构师》 Flink JobMaster 启动和 Slot资源管理_ev
                                     ......
  • springboot项目中swagger配置
    1、导入依赖查看代码<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</vers......
  • springboot/spring使用ConfigurationProperties注解读取自定义属性(尚硅谷)
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xs......