首页 > 解决方案 > Intershop 7 - 控制事务锁定类型的属性

问题描述

通过阅读 Intershop 文档,我遇到了悲观和乐观锁定机制(其中乐观是通过数据库表中的 OCA 属性实现的)。

我想知道如何控制在整个数据库中使用哪种类型的锁定以及在哪里阅读有关这些锁定类型的更多信息。

标签: intershop

解决方案


据我所知,对象级别只有乐观锁定,不能禁用。因此,intershop 中的每个表都有一个 OCA 列。但是,您确实有其他锁定方式

例如:

ORMObject.tryLock. 这通过使用查询锁定数据库中的实际行:select for update nowait。我不推荐使用这个,你最终可能会遇到一些很难调试的死锁错误。有关更多信息,请参阅 javadoc。

然后是Locking Framework。它实际上并没有阻止任何进程更新数据,它是 intershop 通过让它们锁定资源来协调不同进程的一种方式,这样它们就不会相互干扰。但是你仍然可以忽略这些锁。

我通常尽量避免锁定。这个KB可能对您来说很有趣,尤其是关于事务范围的部分。


推荐阅读