A.问题描述:
1.springboot服务跑起来后,连接上公司内部搭建的xxl-job服务,在执行器管理中的OnLine 机器地址都是空的
在这里插入图片描述
2.手动添加机器地址,仍然无法执行;各种报错:
无效的url,
远程机机器连接超时,
无效的token等等.

B:解决方案:
由于 公司内部搭建的xxl-job服务 的版本是2.3.0,而springboot服务版本是1.9.0,二者版本不一样导致,所以此处升级springboot服务版本到2.3.0,但是新版中无法继续使用注解@JobHandler(value = “AAA”),所以采用Bean模式, 废话不多说,直接上代码:


import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobContext;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * @author DuGuangLei
 * @date 2022/1/4
 * 按照销方名称下载红字信息表
 *
 * XxlJob开发示例(Bean模式)
 * 许雪里分布式定时任务
 * 开发步骤:
 * 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
 * 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",
 * 注解value值对应的是调度中心新建任务的JobHandler属性的值。
 * 3、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
 */
@Slf4j
@Component
public class DownLoadRedInvoiceHandler {

    private static final String LOGGER_MSG = "(按照销方名称下载红字信息表)";

    /**
     * 定时按照销方名称下载红字信息表
     */
    @XxlJob(value = "downLoadRedInvoiceTask")
    public ReturnT<String> downLoadRedInvoiceTask(String param) throws Exception {
    	//新版中接参数形式发生变化,请注意
        XxlJobContext xxlJobContext = XxlJobContext.getXxlJobContext();
        String jobParam = xxlJobContext.getJobParam();
        log.debug("========>{}定时任务开始!!!!参数:{}", LOGGER_MSG, jobParam);
        log.debug("========>{}定时任务开始!!!!参数:{}", LOGGER_MSG, jobParam);
        log.debug("========>{}定时任务开始!!!!参数:{}", LOGGER_MSG, jobParam);
        log.debug("========>{}定时任务开始!!!!参数:{}", LOGGER_MSG, jobParam);
        log.debug("========>{}定时任务开始!!!!参数:{}", LOGGER_MSG, jobParam);
        return ReturnT.SUCCESS;
    }


}

修改完毕后,查看页面效果:
在这里插入图片描述
手动出发执行后效果:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐