Springcloud学习笔记30--JeecgBoot xxl-job定时任务集成和Redisson分布式锁集成
1.xxl-job定时任务集成
第一步 jeecg-cloud-test模块pom文件中引入定时任务依赖
<!-- 引入定时任务依赖 --> <dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>jeecg-boot-starter-job</artifactId> </dependency>
第二步 编写定时任务客户端handler
@Component @Slf4j public class TestJobHandler { @XxlJob(value = "demoJob") public ReturnT<String> demoJobHandler(String params) { log.info("我是定时任务,我执行了..............................."); return ReturnT.SUCCESS; } }
第三步 修改 jeecg-dev.yaml 配置文件
第四步 启动服务端 xxl-job-admin
<1>初始化数据库
执行脚本:https://github.com/xuxueli/xxl-job/blob/2.2.0/doc/db/tables_xxl_job.sql
<2>启动xxl-job-admin
修改数据连接等配置
找到类 com.xxl.job.admin.XxlJobAdminApplication, 右键运行
<3>访问管理界面
首先,浏览器访问http://localhost:9080/xxl-job-admin
-
默认登录账号 :admin/123456
-
新增执行器(注意,需要手工创建)
然后,新增定时任务。
最后,测试定时任务(前提微服务各个模块和定时任务服务端已启动)
执行结果如下所示
2.Redisson分布式锁集成
第一步 jeecg-cloud-test模块pom文件中引入分布式锁依赖
<!-- 引入分布式锁依赖 --> <dependency> <groupId>org.jeecgframework.boot</groupId> <artifactId>jeecg-boot-starter-lock</artifactId> </dependency>
第二步jeecg-cloud-test模块中编写分布式锁测试demo
第三步分布式锁配置文件在jeecg专有配置中如下
address:连接地址和端口
password:redis密码
type:redis部署方式
enabled:是否启用分布式锁
bug记录:io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication required.