Springboot与任务

Springboot与任务

springboot-异步任务

要求,任务必须是2个以上,不然会造成单个方法阻塞,使用案例如下:

//1.首先给主配置类上标@EnableAsync

@RestController
public class HelloController {
    @Autowired
    HelloService helloService;
    @GetMapping("/hello")
    public String hello() throws InterruptedException {
      //线程1执行
        helloService.hello();
      //线程2执行
        return "喝了lo";
    }
}

@Service
public class HelloService {
  //标注在方法上表示这个是一个异步方法
    @Async
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("正在处理中。。。。。");
    }
}

springboot-定时任务

关键注解:

@EnableScheduling 用来标注主配置类

@Scheduled 用来标注方法

[秒 ,分 ,时, 日, 月 , 星期]

[0 * * * * MON-FRI] 表示周一到周5的 所有整秒都执行方法,*代表周1-到周5任意时刻的每一分钟的0s都执行方法

@Scheduled(cron = "* * * * * MON-FRI")
public void say(){
  System.out.println("hello world.....sheduled!~");
}

cron表达式除了精确值或者*之外,还可以写以下的类型:

字段允许值允许的特殊字符
0-59,- * /
0-59,- * /
小时0-23,- * /
日期1-31,- * ?L W C
月份1-12,- * /
星期0-7或者SUN-SAT,0、7是SUN,- * / L C #

其中,代表枚举类型

其中-代表区间

其中*代表任意

其中/代表步长

其中代表日/星期冲突配置

其中L代表最后

其中W代表工作日

其中C代表和calendar联系后计算的值

其中#代表星期,4#2,第2个星期四

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值