java的后台任务调度@Schedule和@Async

本文介绍了Java中两种后台任务调度方式:@Schedule用于定时任务,@Async则用于异步任务,这两种方式都需要在Spring应用上下文中声明。此外,文章还提及了第三方库Quartz,虽然其更新较旧,但在企业级应用中仍可作为任务调度的候选方案。
摘要由CSDN通过智能技术生成

Java提供了两种后台任务的方法

  1. 调度任务;@Schedule
  2. 异步任务;@Async
    当然,使用这两个是有条件的,需要在spring应用的上下文中声明
    <task:annotation-driven/>当然,如果我们是基于java配置的,需要在配置哪里加多EnableScheduling

    @EnableScheduling
    public class WebAppConfig {
    
             ....
    }
    

@Schedule

先看下@Schedule怎么调用再说

 public final static long ONE_DAY = 24 * 60 * 60 * 1000;
 public final static long ONE_HOUR =  60 * 60 * 1000;

 @Scheduled(fixedRate = ONE_DAY)
    public void scheduledTask() {
        System.out.println(" 我是一个每隔一天就会执行一次的调度任务");
    }

    @Scheduled(fixedDelay = ONE_HOURS)
    public void scheduleTask2() {
        System.out.println(" 我是一个执行完后,隔一小时就会执行的任务");
    }

    @Scheduled(cron = "0 0/1 * * * ? ")
    public void ScheduledTask3() {
        System.out.println(" 我是一个每隔一分钟就就会执行的任务");
    }

需要注意的

  1. 关于最后一个,在指定时间执行的任务,里面使用的是Cron表达式,同时我们看到了两个不一样的面孔fixedDe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值