corn表达式 每月25号执行定时任务 java
时间: 2025-04-06 16:05:32 浏览: 37
在Java中使用Corn表达式设置每月25号执行定时任务是一种常见需求。Corn表达式的格式由6或7个字段组成(取决于是否包含秒字段),每个字段代表时间的一个组成部分。
为了实现“每月25号”的定时任务,你可以配置Corn表达式如下:
`0 0 12 25 * ?`
这个表达式的含义分解为:
- 第一位 `0`: 秒,表示第0秒触发;
- 第二位 `0`: 分钟,表示第0分钟触发;
- 第三位 `12`: 小时,表示中午12点触发;
- 第四位 `25`: 日期,表示每个月的25号触发;
- 第五位 `*`: 月份,表示所有月份都触发;
- 第六位 `?`: 星期几,表示不指定具体的星期几。
完整的Java示例如下:
```java
import org.quartz.*;
public class MonthlyJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("每月25号的任务已执行!");
}
public static void main(String[] args) {
try {
// 定义调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 创建job详情
JobDetail job = JobBuilder.newJob(MonthlyJob.class)
.withIdentity("monthlyJob", "group1")
.build();
// 设置corn表达式触发器
Trigger trigger = TriggerBuilder.newTrigger()
.withSchedule(CronScheduleBuilder.cronSchedule("0 0 12 25 * ?"))
.build();
// 把作业和触发器注册到调度器上
scheduler.scheduleJob(job, trigger);
// 启动调度器
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
```
阅读全文
相关推荐















