集群系统中使用oracle的行锁实现资源上锁

集群系统中使用oracle的行锁实现资源上锁,第1张

集群系统中使用oracle的行锁实现资源上锁

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
别的事务可以读但不可以写,可以继续加共享锁。当前事务不可写

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存