Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在oracle adf中异步更新表时发生锁定异常_Java_Oracle_Oracle Adf - Fatal编程技术网

Java 在oracle adf中异步更新表时发生锁定异常

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]更改了该行 我曾尝试在整

我的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提交操作?
2.应将每个已处理/验证的行提交给DB,以便在每次提交操作后,用户可以在UI上查看更新的记录。对getviewobject使用“executequery()”或“closerowset()”

例如:
public void closemaster(){
这个.getMasterView().closeRowSet();
}

或者您可以使用:

    public void closemaster() {
    this.getMasterView().executeQuery();
}
这两个答案都适用

我想你的问题会解决的


更新所发生的事情。

我在impl类中使用了它,您可以绑定方法,也可以通过backingbean中的操作绑定进行访问。