Spring Schedule

Spring Schedule介绍

作业调度,例如定时任务

Spring Schedule Cron表达式

  1. Cron表达式的格式:秒  分  时  日  月  周  年(可选)
  •  Seconds
  • Minutes
  • Hours
  • Day-of-Month
  • Month
  • Day-of-Week
  • Year(可选字段)

 

 

 

 

Spring Schedule Cron 配置

<task:annotation-driven/>
xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd

@Component  //在Spring Schedu类上加上这个注解,把这个类注册为Spring容器中的一员

@Scheduled(cron = "0 */1 * * * ?")   //在要执行的定时任务方法上加上这个注解

Spring Schedule Cron 生成器

http://cron.qqe2.com/

MySQL 行锁、表锁

  • SELECT ...  FOR UPDATE (悲观锁)
  • 使用InnoDB引擎
  • Row-Level Lock(明确的主键)
  • Table-Level Lock (无明确的主键)

例如:

product表,有id和name,id为主键

明确指定主键,并且有结果集,Row-Level Lock

扫描二维码关注公众号,回复: 5706696 查看本文章

SELECT * FROM product WHERE id = '66' FOR UPDATE;

 

明确指定主键,并且无结果集,无Lock

SELECT * FROM product WHERE id = '-100' FOR UPDATE;

 

无主键Table-Level Lock

SELECT * FROM product WHERE name = 'iphone' FOR UPDATE;

 

主键不明确 Table-Level Lock

SELECT * FROM produc WHERE id <> '66' FOR UPDATE;

SELECT * FROM produc WHERE id LIKE '66' FOR UPDATE;

猜你喜欢

转载自blog.csdn.net/Tdh5258/article/details/83992853