xxl-job的使用以及与spring boot整合

官网教程

中文教程

gitee

https://gitee.com/xuxueli0323/xxl-job

github

https://github.com/xuxueli/xxl-job

 

  • xxl-job主要分为调度中心和执行器项目

调度中心对应xxl-job项目中的xxl-job/xxl-job-admin,执行器项目对应xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot

  • 部署过程

1、配置文件修改

/xxl-job/xxl-job-admin/src/main/resources/application.properties

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/resources/application.properties

2、如果已经正确进行上述配置,可将项目编译打包部署。

调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址)

默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

访问地址:http://localhost:8081

显示spring boot欢迎页,表示执行器部署成功。

=================================================================================================================

任务详解-主要介绍GLUE模式(Java)

先看官方介绍

步骤一:调度中心,新建调度任务:

步骤二:开发任务代码

选中指定任务,点击该任务右侧“GLUE”按钮,将会前往GLUE任务的Web IDE界面,在该界面支持对任务代码进行开发(也可以在IDE中开发完成后,复制粘贴到编辑中)。

=================================================================================================================

项目实战-EveryMonthExecuteJobHandler

package com.enation.app.javashop.consumer.job.handler;

import com.enation.app.javashop.model.base.JobAmqpExchange;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import com.xxl.job.core.handler.annotation.JobHandler;
import com.enation.app.javashop.framework.logs.Logger;
import com.enation.app.javashop.framework.logs.LoggerFactory;
import com.enation.app.javashop.framework.rabbitmq.MessageSender;
import com.enation.app.javashop.framework.rabbitmq.MqMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 每日执行
 *
 * @author chopper
 * @version v1.0
 * @since v7.0
 * 2018-07-06 上午4:24
 */
@JobHandler(value = "everyMonthExecuteJobHandler")
@Component
public class EveryMonthExecuteJobHandler extends IJobHandler {


    private final Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    private MessageSender messageSender;

    @Override
    public ReturnT execute(String param) throws Exception {
        try {
            this.logger.debug("发送每月定时任务");

            messageSender.send(new MqMessage(JobAmqpExchange.EVERY_MONTH_EXECUTE,
                    JobAmqpExchange.EVERY_MONTH_EXECUTE + "_ROUTING",
                    ""));
        } catch (Exception e) {
            this.logger.error("每月任务AMQP消息发送异常:", e);
            return ReturnT.FAIL;
        }
        return ReturnT.SUCCESS;
    }
}

 

=================================================================================================================

 

 

 

 

 

你可能感兴趣的:(SpringCloud微服务,常用框架环境搭建和简单使用,spring,boot,分布式,微服务,spring,cloud,定时任务)