Java 在oracle adf中异步更新表时发生锁定异常
我的jdev版本:11.1.1.7 在我们的adf应用程序中,我们需要上传繁重的csv文件(10k-100k行),处理/验证每一行,并使用处理/验证状态更新表中的内容。 通过将主键作为绑定变量应用视图条件并提交每个更新的行,可以对每一行进行更新 以上所有过程都是使用java.util.concurrent实用程序并发进行的 一切正常,但很少有行遇到oracle.jbo.JboException:jbo-25014:另一个用户已使用主键oracle.jbo.key[254]更改了该行 我曾尝试在整个executor流程结束时更新表,并批量提交所有更新的行,但这与其中一个要求相矛盾,因为用户必须等到流程结束时才能看到UI中更新记录的数量 我的问题是: 1.在这种情况下,如何在ADF中实现线程安全的DB提交操作?Java 在oracle adf中异步更新表时发生锁定异常,java,oracle,oracle-adf,Java,Oracle,Oracle Adf,我的jdev版本:11.1.1.7 在我们的adf应用程序中,我们需要上传繁重的csv文件(10k-100k行),处理/验证每一行,并使用处理/验证状态更新表中的内容。 通过将主键作为绑定变量应用视图条件并提交每个更新的行,可以对每一行进行更新 以上所有过程都是使用java.util.concurrent实用程序并发进行的 一切正常,但很少有行遇到oracle.jbo.JboException:jbo-25014:另一个用户已使用主键oracle.jbo.key[254]更改了该行 我曾尝试在整
2.应将每个已处理/验证的行提交给DB,以便在每次提交操作后,用户可以在UI上查看更新的记录。对getviewobject使用“executequery()”或“closerowset()” 例如:
public void closemaster(){
这个.getMasterView().closeRowSet();
}
或者您可以使用:
public void closemaster() {
this.getMasterView().executeQuery();
}
这两个答案都适用
我想你的问题会解决的
更新所发生的事情。我在impl类中使用了它,您可以绑定方法,也可以通过backingbean中的操作绑定进行访问。