[XXL-JOB] 项目集成-Framework

xxl,job,项目,集成,framework · 浏览次数 : 18

小编点评

**项目配置文件(job.properties)** ```properties # 是否启用 job.xxl.admin.addresses job.xxl.admin.addresses: http://*****/xxl-job-admin # xxl-job 地址 job.xxl.accessToken: # 定时任务执行器名称 job.xxl.executor.appname: mbp-job # 定时任务执行器端口 job.xxl.executor.port: 9999 # 日志路径 job.xxl.executor.logpath: /data/logs/java/mbp-job # 日志保留天数 job.xxl.executor.logretentiondays: 303 ``` **定时任务类(CmsAdJob.java)** ```java @Job(name = "cmsAdJob", cron = "0 0 1 * * ?") public class CmsAdJob implements SimpleJob { private CmsAdService cmsService; @Override public void execute(final JobContext jobContext) { LoggerUtil.info("===================定时任务开始==================\n"); // 此处写您的定时任务逻辑代码 LoggerUtil.info("===================定时任务结束==================\n"); } private CmsAdService getCmsAdService() { if (cmsService == null) { cmsService = ContextHolder.getContext().getBean(CmsAdService.class); } return cmsService; } } ``` **执行任务** 您可以手动触发任务执行,例如: ```bash # 触发 CMS 广告定时任务 sh runJob.sh ``` **注意** * `job.enable` 设置 `true` 表示使用 xxl-job 配置。 * `job.xxl.executor.appname` 和 `job.xxl.executor.port` 配置定时任务执行器的应用程序名称和端口。 * `job.xxl.executor.logpath` 配置日志记录路径。 * `job.xxl.executor.logretentiondays` 设置日志记录的保留天数。

正文

1、导入pom坐标

<dependency>
     <groupId>com.hbasesoft.framework</groupId>
     <artifactId>framework-job-core</artifactId>
</dependency>
<dependency>
     <groupId>com.hbasesoft.framework</groupId>
     <artifactId>framework-job-xxl</artifactId>
</dependency>

2、项目配置文件配置xxl-job信息

job.enable: true                                      # 是否启用
job.xxl.admin.addresses: http://*****/xxl-job-admin   # xxl-job地址
job.xxl.accessToken:                                  # token 选填
job.xxl.executor.appname: mbp-job                     # 定时任务执行器名称
job.xxl.executor.port: 9999                           
job.xxl.executor.logpath: /data/logs/java/mbp-job     #日志
job.xxl.executor.logretentiondays: 30

3、创建定时任务类

package com.tlc.cms.job;

import com.hbasesoft.framework.common.utils.ContextHolder;
import com.hbasesoft.framework.common.utils.logger.LoggerUtil;
import com.hbasesoft.framework.job.core.JobContext;
import com.hbasesoft.framework.job.core.SimpleJob;
import com.hbasesoft.framework.job.core.annotation.Job;
import com.tlc.cms.entity.CmsAdEntity;
import com.tlc.cms.service.CmsAdService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

// 1: 添加Job注解
@Job(name = "cmsAdJob", cron = "0 0 1 * * ?")
public class CmsAdJob implements SimpleJob {

    private CmsAdService cmsService;

    // 2: 如果想要在该类内部引用其他Bean,需通过此方法获取Bean对象,不可直接使用注解注入对象
    protected CmsAdService getCmsAdService() {
        if (cmsService == null) {
            cmsService = ContextHolder.getContext().getBean(CmsAdService.class);
        }
        return cmsService;
    }


    @Override
    public void execute(final JobContext jobContext) {
        LoggerUtil.info("===================定时任务开始==================");
        /**
        此处写自己的定时任务逻辑代码
        */
        LoggerUtil.info("===================定时任务结束==================");
    }
}

4、xxl-job配置执行器和定时任务

1、配置执行器

配置完后保存。

2、配置任务

5、配置任务结束即可

 可手动触发任务执行。

 

与[XXL-JOB] 项目集成-Framework相似的内容:

[XXL-JOB] 项目集成-Framework

1、导入pom坐标 com.hbasesoft.framework framework-job-core com.

说说XXLJob分片任务实现原理?

XXL Job 是一个开源的分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展的分布式任务调度框架。 这两天咱们开发的 AI Cloud 项目中,也使用到了 XXL Job 来执行分布式任务的调度,可以看出它的部署和使用虽然步骤很多,但用起来还是很简单的。 因为其本身为 Spri

[转帖]一文带你搞懂xxl-job(分布式任务调度平台)

https://zhuanlan.zhihu.com/p/625060354 前言 本篇文章主要记录项目中遇到的 xxl-job 的实战,希望能通过这篇文章告诉读者们什么是 xxl-job 以及怎么使用 xxl-job 并分享一个实战案例。 那么下面先说明什么是 xxl-job 以及为什么要使用它。

开源分布式任务调度系统就选:DolphinScheduler

分布式任务调度这个话题是每个后端开发和大数据开发都会接触的话题。因为应用场景的广泛,所以有很多开源项目专注于解决这类问题,比如我们熟知的xxl-job。 那么今天要给大家推荐的则是另一个更为强大的开源项目:DolphinScheduler 介绍 DolphinScheduler是一款开源的分布式任务

当 xxl-job 遇上 docker → 它晕了,我也乱了!

开心一刻 公交车上,一位老大爷睡着了,身体依靠在背后的一位年轻小伙子身上 小伙子一直保持站姿十几分钟,直到老人下车 这位在校大学生,接受采访时说:”当时就觉得背后这个人很轻盈,以为是个姑娘!“ 前提准备 对 xxl-job、docker 要有基本的了解 xxl-job 直接看官网:xxl-ob,你想

当 xxl-job 遇上 docker → 它晕了,但我不能乱!

开心一刻 某次住酒店,晚上十点多叫了个外卖 过了一阵儿,外卖到了 因为酒店电梯要刷卡,所以我下楼去接 到了电梯口看到个模样不错的妹纸 我:是你么? 妹纸愣了下:嗯! 于是拉上进电梯回房间,正准备开始呢 我俩的电话同时响了 按下接听键,一男一女同时问:我到电梯口了,你人呢? 尴尬了,取错外卖了 然后一

XXL-JOB定时任务框架(Oracle定制版)

xxl-job是一个轻量级、易扩展的分布式任务调度平台,能够快速开发和简单学习。开放源代码并被多家公司线上产品使用,开箱即用。尽管其确实非常好用,但我在工作中使用的是Oracle数据库,因为xxl-job是针对MySQL设计的,所以使用起来需要进行一些魔改。为了方便后人使用,我已经创建了许多SQL和自增序列,并将其整合到了xxl-job-2.3.0版本中,环境已经在线上正常使用了,所以可以放心使用

[XXL-JOB] 分布式调度XXL-JOB快速上手

1.概述 1.1什么是任务调度 我们可以思考一下下面业务场景的解决方案: 某电商平台需要每天上午10点,下午3点,晚上8点发放一批优惠券 某银行系统需要在信用卡到期还款日的前三天进行短信提醒 某财务系统需要在每天凌晨0:10分结算前一天的财务数据,统计汇总 以上场景就是任务调度所需要解决的问题 任务

SpringBoot整合XXLJob

目录XXLJob简介特性模块安装调度中心初始化数据库配置启动整合执行器pomymlXxlJobConfig启动执行器实践简单的定时任务在执行器创建任务在调度中心创建执行器在调度中心创建任务带前置和后置处理的定时任务XxlJob注解详解创建带前(后)置处理的任务父子任务父子执行器关联父子任务执行器侧l

一种异步延迟队列的实现方式

目前系统中有很多需要用到延时处理的功能:支付超时取消、排队超时、短信、微信等提醒延迟发送、token刷新、会员卡过期等等。通过延时处理,极大的节省系统的资源,不必轮询数据库处理任务。 目前大部分功能通过定时任务完成,定时任务还分使用quartz及xxljob两种类型轮询时间短,每秒执行一次,对数据库造成一定的压力,并且会有1秒的误差。轮询时间久,如30分钟一次,03:01插入一条数据,正常3:3