企业网站定制开发SpringBoot集成XxlJob分布式任务调度中心(超详细之手把手教学)

一、前言

企业网站定制开发废话就不多说了,介绍Xxl-Job企业网站定制开发的网上已经有很多,企业网站定制开发本文就不多加复制粘贴了,企业网站定制开发直接步入第二步。(PS:本文包括Xxl-Job企业网站定制开发分布式定时任务调度中心的搭建,以及SpringBoot集成XxlJob的全过程。如果不想了解搭建的小伙伴可以直接调到第三步。)
  • 1

二、Xxl-Job定时任务调度中心搭建

2.1 下载

地址:
我使用的2.3.0版本的,这是目前最新的版本。

下载好后,我们使用IDEA打开,可以看到如图的几个模块:

其中xxl-job-admin是我们的后台管理系统,这也是我们主要查看xxl-job日志的地方;xxl-job-core则是核心core文件,我们项目中导入依赖就主要导入这个文件;最后是xxl-job-executor-samples这里放了各个不同版本执行器的源码。

2.2 数据库配置

打开至/xxl-job/doc/db目录下,可以看到xxl-job需要的一些数据库初始化脚本。

我们需要在我们的数据库运行一下这些sql文件,运行完成后,会产生如下的库与对应的表

2.3 修改配置文件

此处需要修改xxl-job-admin项目下的application.properties文件,主要是修改数据库相关配置:

将此处修改为自己的数据库配置即可。其他配置根据自己需要更改。顺带一句,笔者此处还将端口8080改为了9080。

2.4 启动项目

此时我们准备工作已经做完,直接启动XxlJobAdminApplication项目即可。
注意:此处启动如果是Mac的用户可能会报错,错误信息如:

这里只需要将xxl-job/xxl-job-admin/src/main/resources目录下的logback.xml文件中的

<property name="log.path" value="/data/applogs/xxl-job/xxl-job-admin.log"/>
  • 1

修改为:

<property name="log.path" value="./data/applogs/xxl-job/xxl-job-admin.log"/>
  • 1

即可。

2.5 访问

在浏览器输入: 即可成功访问。
用户密码分别为:admin/123456
登陆成功后可以看到此页面即为搭建成功。

三、SpringBoot集成Xxl-Job

3.1 导入依赖

	<dependency>		<groupId>com.xuxueli</groupId>		<artifactId>xxl-job-core</artifactId>		<version>${xxl-job.version}</version>	</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

3.2 添加配置文件

xxl:  job:    admin:      # xxl-job后台管理界面的地址      addresses: http://127.0.0.1:8080/xxl-job-admin    executor:      # 此执行器的名称      appname: first-study      # 此执行器的端口      port: 38801      # 此执行器的日志存放路径      logpath: logs/xxl-job/first-study      # 此执行器的日志保存时间      logretentiondays: 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

3.3 添加配置类

XxlJobProperties:

@Configuration@Datapublic class XxlJobProperties {    @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;}
  • 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

BeanConfig:

@Configuration@RequiredArgsConstructorpublic class BeanConfig {    private final XxlJobProperties xxlJobProperties;    @Bean    public XxlJobSpringExecutor xxlJobExecutor() {        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();        xxlJobSpringExecutor.setAdminAddresses(xxlJobProperties.getAdminAddresses());        xxlJobSpringExecutor.setAppname(xxlJobProperties.getAppname());//        xxlJobSpringExecutor.setAddress(address);//        xxlJobSpringExecutor.setIp(ip);        xxlJobSpringExecutor.setPort(xxlJobProperties.getPort());//        xxlJobSpringExecutor.setAccessToken(accessToken);        xxlJobSpringExecutor.setLogPath(xxlJobProperties.getLogPath());        xxlJobSpringExecutor.setLogRetentionDays(xxlJobProperties.getLogRetentionDays());        return xxlJobSpringExecutor;    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

并在启动类上添加注解@EnableScheduling。

3.4 添加xxl-job测试

@Slf4j@Component@RequiredArgsConstructorpublic class XxlJobTest {        @XxlJob("xxlJobTest")    public ReturnT<String> xxlJobTest(String date) {        log.info("---------xxlJobTest定时任务执行成功--------");        return ReturnT.SUCCESS;    }}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3.5 xxl-job-admin添加执行器

回到 界面。
点击执行器管理 -> 新增

此处的AppName填你项目中配置的xxl.job.executor.appname名称。选择自动注册,保存即可。

3.6 添加任务

点击任务管理 -> 点击执行器下拉框

选择刚刚添加的执行器,然后点击“新增”按钮,新增任务:

注意,此处的JobHandler填@XxlJob注解后面的值。填好点击保存即可。就可以看到我们已经有一条任务了,此时点击“操作”,然后点击“启动”,定时任务就运行了。笔者这里是每分钟运行一次。

3.7 测试

此时启动我们的测试项目,会发现打印的启动日志已经注册到xxl-job。然后就能看到已经成功执行定时任务并打印日志。

到此,搭建到集成整个流程就完毕了。当然xxl-job远不止这点功能,对其他扩展信息感兴趣的小伙伴可以自行上网搜索,也可以访问Xxl-Job官方文档:

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发