java文件处理系统集群部署时 为了防止资源同时被多个节点处理,需要对资源进行加锁。
可以使用@Lock(LockModeType.PESSIMISTIC_WRITE)
注解,查询一张表的某行数据。 获取到行锁的节点可以处理此资源文件,反之意味着该资源被别的节点处理中。
PESSIMISTIC_WRITE是排他锁
与之相对的是PESSIMISTIC_READ 是共享锁
排他锁:
select * from t_user where user_name = ? for update.
此时别的事物不可以读也不可以修改改行数据,不能对改行加共享锁。当前事务可以读写
共享锁:
select * from t_user where user_name =? lock in share mode
别的事务可以读但不可以写,可以继续加共享锁。当前事务不可写
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)