spring schedule
作业调度,如定时定时任务
jdk原生提供timer,task等类完成定时任务
开源框架如quartz
spring schedule cron的表达式实际和quartz的表达式是一样的
*/10和0/10是一样的,都是从0开始,增量是10 ,* ? /我们实际工作中是用的最多的, L我们用的不是很多
我们把年都省略了
我们配置完成之后,需要写一个spring shedule的类,在类上面需要加一个注解@component,我们通过这个注解把这个类注册为spring 容器里面的一个bean,在这个类的方法上面加上@scheduled注解,注解里面写入表达式,就可以认为这个方法是一个定时任务方法
既然是关闭订单就设计到mysql 的行锁和表锁
for update是一种悲观锁,后期演变成乐观锁
乐观锁:在表中增加一个字段,是一个version,可以使用时间戳这个毫秒数来进行判断,再决定这个值是否需要更新回滚等等
主键明确产生行锁
主键不明确产生表锁
会产生行锁,不会上锁,会产生锁表
所以我们在使用for update悲观锁的时候一定是要注意的
主键不明确,会产生表锁