Grails上的同步块可在Windows上使用,但在Linux中无法使用

Grails上的同步块可在Windows上使用,但在Linux中无法使用,第1张

Grails上的同步块可在Windows上使用,但在Linux中无法使用

您为什么要获取 StaleObjectStateException 是正确的。

如果您要查找的是悲观锁定(在任何给定时间只允许一个事务访问数据),则可以使用域类 lock() 方法:

class TestService {    static transactional = true    TesteSync incrementa() {        TesteSync t = TesteSync.lock(1)        t.contador++        return t.save()    }}

您可以在此处了解更多有关Grails悲观锁定的信息。

PS:默认情况下,Grails服务是事务性的。但是在我的示例中,我显式地使服务成为事务性的,以引起您的注意:Grails
在事务提交时自动释放锁定。我还删除了刷新,因为在事务提交时数据将被刷新。如果您是通过未显式设置为
@Transactional 的控制器方法执行此 *** 作的,则需要进行刷新。

提示:通过ID查询时,您可以执行此 *** 作…

SomeDomainClass.get(1)

而不是这个

SomeDomainClass.findById(1)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存