一、前言
企业网站定制开发废话就不多说了,介绍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官方文档: