2017-04-04 28 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