新闻详情

新闻详情

首页 / 资讯中心 / 详情

若依创建定时任务时遇到的一些问题

发布时间:2026/10/1 9:48:20来源:尧图网络
若依创建定时任务时遇到的一些问题
写之前参考了其他大佬的方法说class要加什么Component“bean名称”啥的比较麻烦自己捋了一下整理成文后台手册 | RuoYihttps://doc.ruoyi.vip/ruoyi/document/htsc.html#%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1首先是官方教程链接接下来我想把自己写的实现类中的某个方法也加进去一、impl实现类加上定时任务一个若依代码生成的实现类实现类中一个普通的方法里面需要调用mapper查询数据库表。可以看到我没有直接用系统生成的qcNewRiverBoatmapper若依定时任务调用有两种方式1.Spring Bean 方式目标字符串不包含多个.- 通过 SpringUtils.getBean() 获取2.普通类方式目标字符串包含多个.- 通过反射创建新实例当定时任务配置的目标方法使用的是类全路径名如 com.ruoyi.system.service.impl.QcNewRiverBoatServiceImpl.updateRiverBoatListStatusOnline时会通过 Class.forName().newInstance() 创建新实例导致 Autowired 注入的 qcNewRiverBoatMapper 为 null。需要修改 Service 实现类使用 Spring 上下文工具类手动获取 Mapper也就是第一张图的getMapper有个地方需要加白名单这里官方教程没有说但是是要加上的复制一下内容使用全局搜索搜出这个变量加上实现类的路径如下图所示public static final String[] JOB_WHITELIST_STR {com.ruoyi.quartz.task,这里是我配置的定时任务每天零点执行。这里把cron表达式也复制在这里0 0 0 * * ?二、controller控制器加上定时任务RequestMapping(/system/waittingGate) public class QcWaitingGateController extends BaseController {我要定时执行doSync()要在这个controller里写一坨并支持若依定时任务/** 定时任务入口无权限校验直接触发同步 */ public void syncThirdPartyTask() { if (!SYNC_RUNNING.compareAndSet(false, true)) { return; // 已有任务在执行手动或定时跳过本次 } SYNC_STOP_REQUESTED.set(false); SYNC_PROCESSED.set(0); SYNC_TOTAL.set(0); doSync(); } private void doSync() { long processed 0; //…………需要确认两点1. 不能直接调用带权限注解的方法 定时任务线程里没有登录用户上下文调用 syncThirdParty() 会因 PreAuthorize 校验失败而抛异常。doSync() 又是 private反射也调不到。需要在 Controller 里加一个 public 无参、不带 PreAuthorize/Log 的方法作为定时入口2. 白名单已满足 Constants.JOB_WHITELIST_STR 包含 com.ruoyi.system.controller而 QcWaitingGateController 正好在该包下可以不用额外改白名单。配置方式若依页面操作任务名称过闸信息同步调用目标qcWaitingGateController.syncThirdPartyTask()执行表达式如 0 */5 * * * ?每 5 分钟
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【共创稿事节】喵屿 Pura X Max 折叠屏适配:HarmonyOS Dev Assistant 实战全记录 2026/10/1 11:10:39

【共创稿事节】喵屿 Pura X Max 折叠屏适配:HarmonyOS Dev Assistant 实战全记录

喵屿 Pura X Max 折叠屏适配:HarmonyOS Dev Assistant 实战全记录 本文基于「喵屿」应用在 HUAWEI Pura X Max 折叠屏上的一多适配实战,结合 HarmonyOS Dev Assistant 的官方能力与全流程编排,系统梳理插件介绍、安装配置、一多适配能力、一次…

阅读更多 →
Matlab中用CNN做单输入单输出时间序列预测的完整实践指南 2026/10/1 11:10:33

Matlab中用CNN做单输入单输出时间序列预测的完整实践指南

上个月我在做一个设备振动信号的预测任务:输入过去20个采样点的振动幅值,预测下一个采样点的数值。这就是典型的单输入单输出时间序列预测——只有一个特征序列作为输入,输出也只是一个未来值。我一开始用的ARIMA,后来同时试了LST…

阅读更多 →
基于Spring Boot的自习室预订座位管理系统:从规则设计到并发实践 2026/10/1 11:10:24

基于Spring Boot的自习室预订座位管理系统:从规则设计到并发实践

1. 为什么这类系统总在“预选座”和“实际履约”之间翻车先说个我亲眼见过的场景:学校考研自习室,两百多个座位,每天早上六点半开门,五点半就有人在门口排队。有人为了占座,把复习资料往桌上一堆,一整天人都…

阅读更多 →
Node-RED低代码可视化:零Node.js基础构建工业数据看板 2026/10/1 11:10:10

Node-RED低代码可视化:零Node.js基础构建工业数据看板

1. 这不是写代码,是搭积木:为什么“拖拽可视化”能绕过Node.js门槛 “即使不会node.js,拖拽就可完成数据的可视化展示”——这句话乍看像营销话术,但背后是一套真实存在的、已被工业现场和中小团队验证数年的低代码可视化路径。它…

阅读更多 →
CIOE2026展台交换机选型与配置实操:从光模块到AI集群的现场验证 2026/10/1 11:10:09

CIOE2026展台交换机选型与配置实操:从光模块到AI集群的现场验证

CIOE2026的展台上要摆一台交换机,这在三年前几乎是不可想象的事。光通信展区的主角向来是光模块、硅光芯片、相干DSP,交换机最多在角落当个背景板。但这几年风向变了,AI集群、数据中心互联、CPO光电共封装全都要靠交换机来验证价值——谁家的…

阅读更多 →
银河麒麟V10 SSH安装配置与故障排查实战 2026/10/1 11:10:02

银河麒麟V10 SSH安装配置与故障排查实战

1. 银河麒麟 V10 上的一套 SSH 究竟由哪些东西组成很多人第一次接触银河麒麟 V10 的远程运维,脑子里只有一句"要用 SSH 连上去",但真到机器上敲命令的时候才发现,SSH 其实不是"一个软件",而是一组工具的集合。…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉