java中的xxl-job-core完成定时任务的步骤

news2024/11/15 23:39:51

首先这个是基于docker的所以需要进行docker配置

1、先导入官方提供的SQL到虚拟机中mysql中

在这里插入图片描述

2、创建容器

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.211.136:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.jdbc.Driver" -p 8080:8080 -v /tmp:/data/applogs --name xxl-job-admin  -d --restart=always xuxueli/xxl-job-admin:2.1.2

3、在你的微服务中添加依赖

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>2.1.2</version>
</dependency>

4、在你的微服务的yml中和spring平级添加如下内容:

xxl:
  job:
    accessToken: ''
    admin:
      addresses: http://192.168.211.136:8080/xxl-job-admin
    executor:
      appname: leadnews-admin # 本服务的名称
      ip: '' # 不写会自动确定
      logretentiondays: 30
      port: -1 # 不写会自动找一个端口

5、在你的微服务中添加配置(和pojo、mapper目录平级),新建一个config目录,其中存放如下内容:

package com.jjw.admin.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;

@Configuration
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.executor.appname}")
    private String appName;

    @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:abc}")
    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.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

        return xxlJobSpringExecutor;
    }
}

6、在你的微服务中和config目录平级创建task目录,内容为:

package com.jjw.admin.task;

import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class TestTask {
    @XxlJob(value="teskTask")
    public ReturnT<String> teskTask(String param){
        System.out.println("执行任务======="+new Date());

        //XxlJobLogger.log("XXL-JOB, Hello World.demo1:"+param);
        //System.out.println("参数打印==="+param);
        //
        //System.out.println("now:end:"+new Date());

        return ReturnT.SUCCESS;
    }
}

7、在浏览器中打开 http://192.168.211.136:8080/xxl-job-admin/

8、新增一个执行器

在这里插入图片描述

9、新建任务

在这里插入图片描述

在这里插入图片描述

10、运行你的微服务

11、启动定时器

在这里插入图片描述

12、结果展示

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/696813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2014年全国硕士研究生入学统一考试管理类专业学位联考数学试题——纯题目版

2014 年考研管理类联考数学真题 一、问题求解&#xff08;本大题共 15 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09;下列每题给出 5 个选项中&#xff0c;只有一个是符合要求的&#xff0c;请在答题卡上将所选择的字母涂黑。 1.某部门在一次联欢活动中共设了 …

python接口自动化测试 - configparser配置文件解析器详细使用

configparser简介 ConfigParser模块已在Python 3中重命名为configparser该模块定义了ConfigParser类。 ConfigParser类实现一种基本的配置文件解析器语言&#xff0c;该语言提供的结构类似于 .ini 文件中的结构 Python自动化测试&#xff1a;手把手教你做60个实战项目&#xf…

设计模式(二十三)——解释器模式(Interpreter )

解释器模式&#xff08;Interpreter &#xff09; 实现了一个表达式接口&#xff0c;该接口解释一个特定的上下文 应用 编译器&#xff0c;正则表达式&#xff0c;SQL解析 实现 实现一个一位数的加法运算 public class Interpreter {public int add(String s){if (s.char…

代码复现:基于精英动态反向学习的增强型正余弦算法—EDOLSCA,可用于对比试验

代码复现&#xff1a;基于精英动态反向学习的增强型正余弦算法—EDOLSCA&#xff0c;可用于对比试验。 参考文献&#xff1a;Zhang L, Hu T, Yang Z, et al. Elite and dynamic opposite learning enhanced sine cosine algorithm for application to plat-fin heat exchanger…

带你用Python制作超级经典的2048游戏(文末赠书)

名字&#xff1a;阿玥的小东东 学习&#xff1a;Python、C/C 主页链接&#xff1a;阿玥的小东东的博客_CSDN博客-python&&c高级知识,过年必备,C/C知识讲解领域博主 目录 2048游戏Python实现 本期赠书 2048游戏Python实现 2048游戏是一款非常流行的益智游戏&#xff0…

vue-cli的Nuxt重构

我的博客用vuecli写的&#xff0c;SEO不忍直视。于是用Nuxt重构了代码&#xff0c;过程中踩了无数坑 一&#xff1a;body样式不生效 正常的body样式设置不能生效&#xff0c;需要在nuxt.config.js中配置 1、设置bodyAttrs的class属性&#xff0c;该属性值对应一个类名 2、该…

Unity 聚焦任意大小的物体

聚焦任意大小的物体 &#x1f371;效果&#x1f96a;食用方法 &#x1f371;效果 &#x1f96a;食用方法 &#x1f4a1;.安装Cinemachine &#x1f4a1;.把Assets/ZYF/Tools/Camera/Scene/FocusGo/FocusCtrl.prefab拖入场景 &#x1f4a1;.调用FocusCtrl.Focus(gameObject)即可…

《kafka 核心技术与实战》课程学习笔记(九)

客户端都有哪些不常见但是很高级的功能&#xff1f; 什么是 Kafka 拦截器&#xff1f; 拦截器基本思想就是允许应用程序在不修改逻辑的情况下&#xff0c;动态地实现一组可插拔的事件处理逻辑链。它能够在主业务操作的前后多个时间点上插入对应的“拦截”逻辑。Spring MVC 拦…

接口跨域问题

只要协议不同/端口号不同/域名不同都会导致跨域问题

深入浅出设计模式 - 中介者模式

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; &#x1f495;&#x1f495; 感兴趣的同学可以收…

C++之lambda表达式回调函数作为参数(一百四十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

【python】matplotlib 绘制火山图、条形图

文章目录 火山图条形图 火山图 绘制火山图&#xff0c;输入是两个datafreme&#xff0c;行是样本名&#xff0c;列是基因名。使用T-test检验绘制基因表达情况。 def minmax_scale(data):import numpy as np# # 示例数据# data np.array([2, 4, 6, 8, 10])# 进行Min-Max标准化…

go并发编程之channel

目录 1.简介 2.channel类型 无缓冲区的channel 无缓冲区channel的创建 带缓冲区的channel 带缓冲区channel的创建 3.channel使用代码演示 4.获取channel中的值 ​编辑 5.单向channel 单向发送data&#xff0c;发送到channel中 单向接收&#xff0c;channel接收数据 6…

汇编的各种指令及使用方法

***************************************************************** 汇编中的符号 1.指令&#xff1a; 能够编译生成一条32位的机器码&#xff0c;且能被CPU识别和执行 2.伪指令&#xff1a;本身不是指令&#xff0c;编译器可以将其替换成若干条等效指令 3.伪操作&#xff1a…

Linux进程间通信——管道(下)

前文 一&#xff0c;什么是命名管道? 二&#xff0c;命名管道的基本原理 三&#xff0c;创建命名管道实现两个进程对写 四&#xff0c;匿名管道和命名管道的区别 总结 前文 上篇文章我们主要讲了匿名管道的定义以及基本原理&#xff0c;但是匿名管道有一个致命的缺陷&#…

HashSet、LinkedHashSet、TreeSet有什么区别

- HashSet、LinkedHashSet 和 TreeSet 都是 Set接口的实现类&#xff0c;都能保证元素唯一&#xff0c;并且都不是线程安全的。HashSet 的底层数据结构是哈希表&#xff08;基于 HashMap 实现&#xff09;&#xff0c;元素存入和取出顺序不一致。LinkedHashSet 的底层数据结构…

C++制作五子棋

正文 01 思路 我没有选择专业的五子棋棋型&#xff0c;用我自己的逻辑&#xff08;初高中玩五子棋的方法&#xff09;&#xff0c;去实现简单的人机对战。 首先因为要计算五子棋每一步的分数&#xff0c;那么你就要分析每一步形成的棋盘&#xff0c;以下图为例&#xff1a;…

蓝桥杯专题-试题版含答案-【风险度量】【括号配对问题】【ASCII码排序】【素数求和】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

【Java高级编程】枚举类注解

枚举类&注解 1、枚举类的使用1.1、枚举类的使用1.2、如何定义枚举类1.3、Enum类的主要方法 2、注解的使用2.1、注解的概述2.2、常见的Annotation示例2.3、如何自定义注解&#xff1a;参照SuppressWarnings定义2.4、JDK提供的4种元注解2.5、JDK 8中注解的新特性&#xff1a;…

2023-06-25:redis中什么是缓存穿透?该如何解决?

2023-06-25&#xff1a;redis中什么是缓存穿透&#xff1f;该如何解决&#xff1f; 答案2023-06-25&#xff1a; 缓存穿透 缓存穿透指的是查询一个根本不存在的数据&#xff0c;在这种情况下&#xff0c;无论是缓存层还是存储层都无法命中。因此&#xff0c;每次请求都需要访…