Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Springboot项目引入xxl-job_创想鸟

Springboot项目引入xxl-job

要将xxl-job集成到spring boot项目中,可以按照以下步骤进行操作:

首先,从Gitee拉取xxl-job的源码,并将其配置为Docker镜像部署到服务器上。

# 执行Maven打包mvn clean install

构建Docker镜像,镜像名称中不允许使用下划线

docker build -t xxl-job:latest .

接下来,在自己的Spring Boot项目中创建一个新的任务执行器,首先需要在项目的pom.xml文件中引入xxl-job的Maven依赖。

com.xuxuelixxl-job-core${project.parent.version}

然后,在项目的配置文件(如application.ymlapplication.properties)中添加xxl-job的配置信息。

xxl:job:admin:addresses: https://www.php.cn/link/7ece221bf3f5dbddbe3c2770ac19b419accessToken: executor:appname: xxl-job-executor-sampleaddress: ip: port: 8082logpath: /data/applogs/xxl-job/jobhandlerlogretentiondays: 30

在项目的resources目录下添加logback.xml文件,用于配置日志输出。

logback%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n${log.path}${log.path}.%d{yyyy-MM-dd}.zip%date %level [%thread] %logger{36} [%file : %line] %msg%n

创建一个名为XxlJobConfig的配置类,用于初始化xxl-job执行器。

package com.cgd.xxljobexecutor.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;

/**

  • xxl-job config

  • @author xuxueli 2017-04-28*/@Configurationpublic class XxlJobConfig {private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

    @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;

    @Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}

    /**

    • 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;
    • 1、引入依赖:
    • org.springframework.cloud
    • spring-cloud-commons
    • ${version}
    • 2、配置文件,或者容器启动变量
    • spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
    • 3、获取IP
    • String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();*/}

最后,编写一个简单的定时任务示例。

package com.cgd.xxljobexecutor.xxlJob;

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

/**

  • @author chengd
  • @version 1.0
  • @date 2021/5/19 15:24*/@Componentpublic class PushJob {@XxlJob("PushJobHandler")public ReturnT PushJobHandler(String param){ReturnT returnT = new ReturnT();returnT.setCode(ReturnT.SUCCESS_CODE);returnT.setContent("test");returnT.setMsg("

    test

    ");return returnT;}}

完成上述步骤后,启动Spring Boot应用,并登录到xxl-job管理后台(ip:8082/xxl-job-admin)查看是否已自动注入执行器的IP。

Springboot项目引入xxl-job

然后,创建并执行上述代码中的任务,查看执行日志。

Springboot项目引入xxl-job

执行任务后查看日志:

Springboot项目引入xxl-job

代码存放在Gitee仓库中,使用了Nacos和xxl-job。如果需要执行新的定时任务,请创建新分支,完成后提交pull request。

以上就是Springboot项目引入xxl-job的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/26751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Java JSON字符串有效性验证:基于栈的实现与常见陷阱
上一篇 2026年9月23日 03:38:02
如何在Golang中实现文件读取与写入操作_Golang文件读取写入方法汇总
下一篇 2025年12月16日 15:50:26

相关推荐

发表回复

登录后才能评论
关注微信