2017-04-04 27 views
0

我的jdev版本:11.1.1.7锁定异常,而在Oracle ADF的更新表异步

在我们的ADF应用程序,我们必须上传重CSV文件(10K-100K行)和过程/验证各行的要求,在表中更新进程/验证状态。 通过将主键应用于视图条件作为绑定变量并提交每个更新的行,每行都会发生更新 所有上述过程都是使用java.util.concurrent实用程序并发发生的。

一切工作正常,但行数很少遇到oracle.jbo.JboException:JBO-25014:另一个用户已更改与主键oracle.jbo.Key [254]的行。

我试图在整个执行程序进程结束时更新表并提交批处理中的所有更新的行,这很好地工作,但这与用户必须等待的过程中的一个要求相矛盾,才能看到更新UI中的记录。

我的查询: 1.如何在ADF中实现线程安全DB提交操作? 2.每个已处理/已验证的行应提交到数据库,以便可以在用户界面上查看已更新的记录

回答

0

在您的每次提交操作后,您的getviewobject都使用“executequery()”或“closerowset()”。

如:public void closemaster() { this.getMasterView().closeRowSet(); }

,或者您可以使用:

public void closemaster() { 
    this.getMasterView().executeQuery(); 
} 

两个答案会工作。

我认为你的问题将得到解决。

更新发生了什么。

+0

我已经在impl类中使用了这个方法,你可以绑定方法并且可以通过后台bean中的操作绑定进行访问。 – keval