給定一個來自JTOpen的DecimalDataArea,當讀取和寫入數據區域時,AS400上的對象是否被鎖定,防止從AS400上的其他應用程序同時寫入該對象?使用JTOpen從AS400的數據區讀取數據區對象是否被鎖定?
這是如何讀/寫的Javadoc示例代碼等
// Prepare to work with the system named "My400".
AS400 system = new AS400("My400");
// Create a DecimalDataArea object.
QSYSObjectPathName path = new QSYSObjectPathName("MYLIB", "MYDATA", "DTAARA");
DecimalDataArea dataArea = new DecimalDataArea(system, path.getPath());
// Create the decimal data area on the system using default values.
dataArea.create();
// Clear the data area.
dataArea.clear();
// Write to the data area.
dataArea.write(new BigDecimal("1.2"));
// Read from the data area.
BigDecimal data = dataArea.read();
// Delete the data area from the system.
dataArea.delete();
http://javadoc.midrange.com/jtopen/com/ibm/as400/access/DecimalDataArea.html
如果您需要鎖定數據區域的能力,您可以編寫一個簡單的RPG程序來鎖定數據區域,更新它然後解鎖它 - 將更新的值傳回給您的Java程序(或任何您嘗試的去做)。 – 2013-04-05 21:16:12
我不知道RPG,我通常會向我的RPG程序員傾訴,哈哈。我正在用Java編寫一個應用程序,它將與現有的RPG應用程序集成在一起,該應用程序使用數據區來存儲記錄的上次使用的ID。我的RPG程序員在需要獲取下一個值時執行此操作的方式是,它們鎖定RPG中的數據區域,將新值寫入它,然後解鎖它。 – 2013-04-06 20:18:29