java corn 定时任务调度,每分钟执行一次,每半个小时执行一次

博客主要围绕Java Corn表达式展开。Corn表达式在Java开发中用于定时任务的设置,能精准控制任务执行时间,是Java开发里处理定时任务的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java corn 表达式

  每分钟执行一次
  @Scheduled(cron = "0 */1 * * * ?")
  每半个小时执行一次
  @Scheduled(cron = "0 0/30 * * * ?")
  
 
 springboot 类
 
@EnableScheduling
@Configuration
@Slf4j
public class CornScheduleTask {


    /**
     *
     */
    @Scheduled(cron = "0 */1 * * * ?")
//    @Scheduled(cron = "0 0/30 * * * ?")
    private void updatePackageStatus(){
        System.out.println("=================================");
        System.out.println("定时任务执行");

    }

}


application 主类上要加注解
@EnableScheduling
### 关于 Quartz 定时任务 Cron 表达式的解析 #### cron表达式结构 Cron表达式由六个或七个字段组成,每个字段代表时间的不同部分。对于Quartz而言,标准的cron表达式格式如下: - 秒 (0-59) - 分钟 (0-59) - 小时 (0-23) - 日 (1-31),取决于月份长度 - 月 (1-12 或 JAN-DEC) - 星期几 (0-7, 其中0和7都表示星期日;也可以使用MON-SUN) 可选年份字段位于最后一位。 #### 字段含义说明 各个字段可以接受具体的数值、范围、列表或是通配符(*)等特殊字符[^1]。例如,“*”意味着该位置上的任何可能值都会被匹配。“?”则用于指定不设置特定值的情况,在日期和星期两个字段之间互斥使用。另外还有“/”,用来定义增量步长;“L”指代每月最后一日或每周最后一个工作日;“W”靠近给定天数的工作日;“#n”某个月第几个周几这样的组合形式[^4]。 #### 示例分析 为了更好地理解如何构建有效的cron表达式,这里给出一些实际例子并加以解释: - `0 0 12 * * ?` : 每天中午十二点触发一次。 - `0 15 10 ? * MON-FRI`: 工作日上午十点十五分运行。 - `0 0/5 14 * * ?` :每天下午两点开始每五分钟重复执行直到两点半结束。 - `0 0 8 L * ?` : 每月最后一天早上八点钟启动作业。 - `0 0 9 15 MAR-JUN ?` : 在每年三月至六月期间每个月的15号上午九点整激活调度程序[^2]。 ```java // Java代码片段展示如何创建基于corn表达式的jobDetail对象 JobDetail job = JobBuilder.newJob(MyJobClass.class).withIdentity("myJob").build(); Trigger trigger = TriggerBuilder.newTrigger().withSchedule(CronScheduleBuilder.cronSchedule("0 0 12 * * ?")).build(); scheduler.scheduleJob(job, trigger); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值