ADF中的 'pessimistic 锁' 和 'optimistic 锁'

在ADF中提供两种类型的锁:pessimistic, optimistic。在11gR1版本的JDeveloper中,默认使用的是pessimistic锁,在11gR2的JDeveloper中使用的是optimistic锁。

可以在bc4j.xcfg中修改锁类型(jbo.locking.mode):

<?xml version = '1.0' encoding = 'UTF-8'?>
<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">
   <AppModuleConfigBag ApplicationName="cn.com.frs.service.AppModule">
      <AppModuleConfig DeployPlatform="LOCAL" jbo.project="xxx" name="AppModuleLocal" ApplicationName="xxx">
         <Database jbo.locking.mode="optimistic"/>
         <Security AppModuleJndiName="xxx"/>
         <Custom JDBCDataSource="jdbc/xxx"/>
      </AppModuleConfig>


pessimistic锁的缺点是:

1)用户会长时间占用锁,而不能释放;

2)造成死锁。

optimistic锁避免了上述缺点,因此,在开发ADF Fusion web application的时候,ADF建议用optimistic类型的锁。

 

更多关于ADF锁的知识可以参考:

Differences between Pessimistic and Optimistic Locking

Fusion Developer’s Guide for Oracle Application Development Framework 11g Release 1 (11.1.1).

http://www.orafaq.com/papers/locking.pdf

你可能感兴趣的:(ADF中的 'pessimistic 锁' 和 'optimistic 锁')