xxljob 配置文件_最详细的xxl-job java配置方式spring-boot

本文档介绍了如何将XXL-JOB集成到Spring Boot应用中,包括下载源码、创建数据库、配置调度器和执行器、启动项目、编写执行器代码以及在XXL-JOB管理平台上配置任务。提供了详细的步骤和配置代码。
摘要由CSDN通过智能技术生成

转自:https://blog.csdn.net/weixin_44055234/article/details/106565516

————XXL-JOB*是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。且支持线上编写调度任务。

如何集成?

去gitee或者github下载源代码 goto xxl-job

下载或者克隆后用idea 打开项目或直接用idea克隆项目到本地

在项目的doc文件夹下有个db文件夹 ,db文件夹下的sql脚本是xxl-job运行最基本的数据库和表,用sqlyol或Navicat

运行脚本,或者其他方式执行sql脚本

在xxl-job-admin项目中的application.properties中配置相关属性

xxl-job-admin是调度器 所以得先启动,如果执行器启动找不到调度器会报连接异常

把刚刚执行sql脚本的数据库连接和密码配置到application.properties中

其他属性可有所需求在进行配置

1

2

等待idea自动导包完成 然后使用maven工具 先把项目clear 在install 或者xxl-job-admin这个模块需要的模块 和调度模块需要的模块 install

install 后jar包会存在自己的本地仓库,之后可以直接引入

找到xxl-job的启动类 启动项目,或者直接打包成jar包 运行也可以

启动成功后浏览器访问 http://127.0.0.1:8080/xxl-job-admin 就可以看到登录页面

默认账号密码是 admin 123456

登录后

因为之前有测试过所以有数据

如何使用? 编写执行器

6. 新建spring boot 工程 在pom文件中导入坐标

org.springframework.boot

spring-boot-starter-web

com.xuxueli

xxl-job-core

2.2.1-SNAPSHOT

1

2

3

4

5

6

7

8

9

这两个坐标是必须的 如果没有spring-boot-starter-web 会无法启动

编写application.properties中的配置还有logback.xml复制到resources下,这个文件可以自己编写,为了方便我是从xxl-job-admin模块下resources文件中拷贝过来的

编写配置类来读取application.properties的配置

这里我是直接复制xxl-job-admin的配置类

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;

@Configuration

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

@Bean

public 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();

*/

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

编写需要定时执行的代码,也就是调度器执行的执行器

在需要执行的方法加上@XxlJob 注解 并且取名,之后在调度器中好区分,否者无法调度

注:Returnt<>(200,"…")中 code 200是成功

配置完毕后启动我们自己创建的工程,在此之前必须启动xxl-job-admin 否者会报错

在xxl-job-admin的管理页面新增执行器,执行器管理->新增->填写相关信息

appname是之前在我们自己工程里application.properties配置的

名称可随便取,只是个区分

机器地址可手动填写多个,可做高可用

如果你的执行器是多个的话他会用appName来区分,多个执行器介意手动填写

在任务管理中找到刚刚创建的执行器,选中- 新增

任务参数会传递到执行器中

其他参数见名知意

创建好任务后可在点击操作任务,点启动后执行器就会执行

配置任务的时候如果运行模式是GLUE 可以在线编写调度器代码和脚本,支持多语言

运行后可在运行报表中查看调度情况,也可以查看调度日志

调度器集群

一个调度器在执行另外一个不会干涉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值