java-jfinal——使用quartz定时器
jfinal使用quartz定时器
jfinalconfig
QuartzPlugin quartz = new QuartzPlugin();
me.add(quartz);
quartz依赖
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
task.properties
quartz.job=com.dy.task.DictionariesTask
#cron定时任务时间
#quartz.cron=0/10 * * * * ?
#1点执行
quartz.cron=0 0 1 * * ?
task类
package com.dy.task;
import com.alibaba.fastjson.JSONObject;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.util.MapToRecord;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class DictionariesTask implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
String sql = "select dictionariesKey,dictionariesValue,remark from dictionaries";
List<Record> dictionariesList = Db.find(sql);
String typeAttributeListSql = "select id,attributeName,showname from device_typeattribute";
List<Record> typeAttributeList = Db.find(typeAttributeListSql);
// Record record = new Record();
Record record;//dictionariesList
Record record2;//typeAttributeList
for (int i = 0; i < dictionariesList.size(); i++) { //循环每条记录
record = dictionariesList.get(i);
Object dictionariesKey = record.get("dictionariesKey");
Object dictionariesValue = record.get("dictionariesValue");
for (int j = 0; j < typeAttributeList.size(); j++) {//循环每条记录
record2 = typeAttributeList.get(j);
Object attributeName = record2.get("attributeName");
Object id = record2.get("id");
if (dictionariesKey.equals(attributeName)) {
Record record3 = new Record();//插入
Date date = new Date();
record3.set("upTime", date);
record3.set("showname", dictionariesValue);
record3.set("id", id);
Db.update("device_typeattribute", "id", record3);
}
}
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)