ebs java并发_EBS中Java并发程序笔记(1)
在Oracle EBS中的Java并發程序(Java Concurrent Program)是系統功能中的一個亮點,它的出現使得用戶可以在ERP系統中運行自己定義的Java程序。本文為學習筆記,所以不會介紹太多背景知識。
使用Java并發程序的好處:
當遇到如下2種情況的時候,用PLSQL程序包來完成將無比麻煩:
1、將服務器上的文件通過FTP安全有效的導入到apps環境下
2、使用JDBC連接一個非Oracle的數據庫,并獲取里面的數據,通過驗證和轉換導入到apps下的客制化表。對于上述假定,需要DBA建立透明網關,對于如此簡單的需求將會做復雜的設置。
綜上所述,可以在EBS中使用Java并發程序來解決這些事情。
如下為一個簡單的例題并做簡單說明:
import oracle.apps.fnd.cp.request.*;
import oracle.apps.fnd.util.*;
//如果是測試Java并發程序,則新建一個class實現JavaConcurrentProgram 這個interface
public class MainTest implements JavaConcurrentProgram {
//實現interface中的runProgram方法
public void runProgram(CpContext ctx) {
//取得并發程序傳入的參數列表
ParameterList lPara = ctx.getParameterList();
ReqCompletion lrc = ctx.getReqCompletion();
try
{
//把參數名字和參數的值分別在log和output中打印出來
while(lPara.hasMoreElements())
{
NameValueType nvt = lPara.nextParameter();
ctx.getOutFile().writeln(nvt.getName() + ":" + nvt.getValue());
ctx.getLogFile().write(nvt.getName() + ":" + nvt.getValue(), LogFile.STATEMENT);
}
//完成打印的步驟后,設置程序的結束狀態為Normal,如果這個步驟不做,雖然程序沒有錯誤,但是執行結果還是會報錯的
lrc.setCompletion(ReqCompletion.NORMAL, "Normal Ending");
}
catch(Exception e)
{
//如果程序出現異常,設置程序的執行結果,本來是應該設置ERROR的
ctx.getLogFile().write(e.toString(), LogFile.STATEMENT);
lrc.setCompletion(ReqCompletion.WARNING, "Exception Occurs!!!");
}
}
}
把程序掛到EBS中后,執行結果如下圖所示:
log中顯示如下(因為log中程序沒有換行,所以寫到了一行里面):
output中因為換行的原因,格式與log中的有一點不同,如下所示(左半部分為輸入的參數的說明,右半部分則為程式打印的output):
總結
以上是生活随笔為你收集整理的ebs java并发_EBS中Java并发程序笔记(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java gridlayout 设置列宽
- 下一篇: java addlistener_Jav