日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

EBS中Java并发程序笔记(1)

發(fā)布時間:2023/12/10 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EBS中Java并发程序笔记(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????? 在Oracle EBS中的Java并發(fā)程序(Java Concurrent Program)是系統(tǒng)功能中的一個亮點,它的出現(xiàn)使得用戶可以在ERP系統(tǒng)中運行自己定義的Java程序。本文為學習筆記,所以不會介紹太多背景知識。

???? 使用Java并發(fā)程序的好處:

???? 當遇到如下2種情況的時候,用PLSQL程序包來完成將無比麻煩:

???? 1、將服務器上的文件通過FTP安全有效的導入到apps環(huán)境下

???? 2、使用JDBC連接一個非Oracle的數(shù)據(jù)庫,并獲取里面的數(shù)據(jù),通過驗證和轉換導入到apps下的客制化表。對于上述假定,需要DBA建立透明網(wǎng)關,對于如此簡單的需求將會做復雜的設置。

????? 綜上所述,可以在EBS中使用Java并發(fā)程序來解決這些事情。

????? 如下為一個簡單的例題并做簡單說明:

import oracle.apps.fnd.cp.request.*;
import oracle.apps.fnd.util.*;

//如果是測試Java并發(fā)程序,則新建一個class實現(xiàn)JavaConcurrentProgram 這個interface

public class MainTest implements JavaConcurrentProgram {

??? //實現(xiàn)interface中的runProgram方法
??? public void runProgram(CpContext ctx) {

??????? //取得并發(fā)程序傳入的參數(shù)列表
??????? ParameterList lPara = ctx.getParameterList();
??????? ReqCompletion lrc = ctx.getReqCompletion();
??????? try
??????? {

??????????? //把參數(shù)名字和參數(shù)的值分別在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);
??????????? }

???????????? //完成打印的步驟后,設置程序的結束狀態(tài)為Normal,如果這個步驟不做,雖然程序沒有錯誤,但是執(zhí)行結果還是會報錯的
??????????? lrc.setCompletion(ReqCompletion.NORMAL, "Normal Ending");
??????? }
??????? catch(Exception e)
??????? {

??????????? //如果程序出現(xiàn)異常,設置程序的執(zhí)行結果,本來是應該設置ERROR的
??????????? ctx.getLogFile().write(e.toString(), LogFile.STATEMENT);
??????????? lrc.setCompletion(ReqCompletion.WARNING, "Exception Occurs!!!");
??????? }
??? }
}?

把程序掛到EBS中后,執(zhí)行結果如下圖所示:

log中顯示如下(因為log中程序沒有換行,所以寫到了一行里面):

output中因為換行的原因,格式與log中的有一點不同,如下所示(左半部分為輸入的參數(shù)的說明,右半部分則為程式打印的output):

轉載于:https://www.cnblogs.com/echochen/archive/2011/11/17/2253148.html

總結

以上是生活随笔為你收集整理的EBS中Java并发程序笔记(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。