首页 > 其他分享 >Xxl-job安装部署以及SpringBoot集成Xxl-job使用

Xxl-job安装部署以及SpringBoot集成Xxl-job使用

时间:2023-04-25 11:14:49浏览次数:38  
标签:执行器 SpringBoot E5% job executor xxlJobSpringExecutor Xxl xxl

1、安装Xxl-job:

可以使用docker拉取镜像部署和源码编译两种方式,这里选择源码编译安装。

代码拉取地址:

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

官方开发文档:

https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B

2、打开项目

使用Maven打开项目,下载相关的jar包依赖。配置相关配置文件

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

这里可以参考官方开发文档进行配置。

3、初始化数据库

项目中包含数据库文件路径

/xxl-job/doc/db/tables_xxl_job.sql

4、打包部署项目

使用maven进行打包,排除test。

执行package:

打包成功。

5、启动编译过后的Jar包文件

输出以上内容,xxl-job启动成功。

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

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

至此“调度中心”项目已经部署成功。如果还有其他不懂的请参考相关文档:

https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B

6、SpringBoot集成Xxl-job使用

获取XxlJobConfig配置文件,参考Xxl-job源码列示:

/xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-springboot/src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java
 maven依赖:
<!-- xxl-job-core xxl-job需要的包-->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.2</version>
</dependency>
xxl-job配置文件信息:
@Bean public XxlJobSpringExecutor xxlJobExecutor() { log.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; }
@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}")
private String logPath;
@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;
 

 设置spring boot配置application.yml文件信息:

xxl:
  job:
    executor:
      #执行器app的名称,和控制台保持一致
      appname: xxl-job-executor-sample
      #有效使用该地址作为注册地址 为空使用内嵌服务地址
      address:
      #执行器IP 默认自动获取
      ip: localhost
      #执行器端口 小于等于0 自动获取 ,默认 9999 ,配置多个执行器时,需要配置不同的执行器端口
      port: 9999
      #执行器日志保持天数 -1永久生效
      logretentiondays: 30
      #执行器日志文件保持地址 ,为空使用默认保存地址
      logpath: D:/idea-project/data/xxl-job-log/executor
    admin:
      #调度中心部署地址,多个配置 ,分割
      addresses: http://127.0.0.1:8080/xxl-job-admin
      #执行器token
    accessToken:

控制台输出以下内容表示注册成功:

如果输出以下信息,表示注册失败,需要重新检测配置文件信息:

登录任务调度中心 -->执行器管理 ,可以查看是否注册成功。

显示上面信息,表示注册成功。

7、配置MyJobHandle执行任务文件:

@Component
public class MyJobHandle {

    @Autowired
    private IUserService userService;

    /**
     * xxl-job-core最新版本2.1.2中@JobHandler注解已过时,取而代之的是@XxlJob注解,也不需要去继承IJobHandler类。
     *
     * @param param  调度平台接收的参数信息
     */
    @XxlJob("syncUser")
    public ReturnT<String> syncUser(String param){
        System.out.println("--------------->>参数为\t"+param);
        XxlJobLogger.log("xxl-job启动成功 ,欢迎使用xxl-job同步数据 。。。 syncUser");

        List<User> userList = userService.userList();
        userList.forEach(System.out::println);

        return ReturnT.SUCCESS;
    }
}

登录任务调度中心-->任务管理 ,新增任务。

添加成功点击执行按钮,启动任务:

查看执行结果:调度日志

说明任务执行成功。在来查看后台控制台输出:

输出内容,说明任务配置成功了。

以上就是xxl-job使用的简单案例,想要学习更多内容可以去官网地址进行学习。

 

标签:执行器,SpringBoot,E5%,job,executor,xxlJobSpringExecutor,Xxl,xxl
From: https://www.cnblogs.com/eternality/p/17350403.html

相关文章

  • SpringBoot接口支持配置https步骤
    本地利用JDK工具生成证书1.keytool-genkey-keyalgRSA-keystoretomcat.jks2.keytool-importkeystore-srckeystoretomcat.jks-destkeystoretomcat.pkcs12-deststoretypepkcs12 验证是否成功keytool-list-vkeystoretomcat.jks keytool-list-vkeystoretom......
  • 记录一次springBoot+hibernate+JPA+swagger2+链接人大金仓的项目demo
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.spring......
  • [XXL-JOB] 项目集成-Framework
    1、导入pom坐标<dependency><groupId>com.hbasesoft.framework</groupId><artifactId>framework-job-core</artifactId></dependency><dependency><groupId>com.hbasesoft.framework</groupId>......
  • SpringBoot 编译运行时出现 错误: 无 效的目标发行版:1.11 的解决方法
    网上的方法大多是jdk版本不一致问题这里需要修改下所用maven的settings.xml以下贴的图是修改后,原本我这里jdk的版本号全部是1.11 修改以后就可以顺利运行了,乌鱼子......
  • SpringBoot多模块项目开发(Maven多模块项目)
    Maven多模块项目Maven多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块。微服务项目是以多模块的方式开发,分包部署;springboot多模块项目使用maven打包部......
  • springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、j
    由于在开发业务时,可能同时调用的存储过程不知道参数,但是参数从界面、或已经存储在数据库的获取,所以就不希望手动写存储过程的参数,通过简化的调用。能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来,这个就通用了。只写一个通用方法,就可以......
  • SpringBoot 循环依赖
    什么是循环依赖循环依赖是指在SpringBoot应用程序中,两个或多个类之间存在彼此依赖的情况,形成一个循环依赖链。当一个类在初始化时需要另一个类的实例,而另一个类又需要第一个类的实例时,就会出现循环依赖问题。发生情况:循环依赖是指两个或更多的组件之间存在着互相依赖的关系。......
  • 解决springboot不能打包问题
    环境:名称版本springboot2.7.11jdk1.8maven3.6.3在pom.xml中添加如下代码:<build><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</......
  • Springboot将自定义jar包引入pom
    Springboot将自定义jar包引入pom Springboot将自定义jar包引入pom <dependency><groupId>TrendDB_API</groupId><artifactId>TrendDB_API</artifactId><version>1.0</version>......
  • springboot项目配置多个kafka
    1.spring-kafka<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>1.3.5.RELEASE</version></dependency>2.配置文件相关信息kafka.bootstrap-servers=local......