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):
转载于:https://www.cnblogs.com/echochen/archive/2011/11/17/2253148.html
EBS中Java并发程序笔记(1)相关推荐
- ebs java并发_EBS中Java并发程序笔记(1)
在Oracle EBS中的Java并发程序(Java Concurrent Program)是系统功能中的一个亮点,它的出现使得用户可以在ERP系统中运行自己定义的Java程序.本文为学习笔记,所以不 ...
- 【FND】EBS中Java并发程序开发
开发步骤 下载相关标准包 fndutil.jar fndcp.jar fndctx.jar 下载目录$JAVA_TOP/oracle/apps/fnd/jar/ 写java类 定义包名规则: a. 如 ...
- java并发编程笔记_java并发编程笔记(一)——并发编程简介
java并发编程笔记(一)--简介 线程不安全的类示例 public class CountExample1 { // 请求总数 public static int clientTotal = 500 ...
- exchange java对象,【原】Java并发程序的一个应用Exchanger的实例
[原]Java并发程序的一个使用Exchanger的实例 今天看了些Exchanger的资料,有个喝水的例子不错.我这里细化了以下,并得到实现. 思路: 有一个Drinker和一个Waiter,有两个 ...
- Java并发编程笔记之 CountDownLatch闭锁的源码分析
转 自: Java并发编程笔记之 CountDownLatch闭锁的源码分析 JUC 中倒数计数器 CountDownLatch 的使用与原理分析,当需要等待多个线程执行完毕后在做一件事情时候 C ...
- ORACLE EBS 开发 用于并发程序的PL/SQL API
ORACLE EBS 开发 用于并发程序的PL/SQL API 1. FND_CONC_GLOBAL包 这个包用于从PL/SQL程序中提交子请求. u 函数FND_CONC_GLOBAL.REQU ...
- Java并发编程笔记(1)基础知识
Java并发编程的三个性质 原子性 *在Java中,对基本数据类型的变量的读取和赋值操作是原子性操作,即这些操作是不可被中断的,要么执行,要么不执行. *只有形如x = 10这种不可再分的赋值操作才有 ...
- 20W字纯手打Java并发学习笔记,助力你金三银四,决战春招,必进大厂
假如阿里给了你这个机会,你却卡在三面,你会不会懊恼? 假如阿里真的让你通过,只需要你把这一块技能的底层原理摸透,你学不学? 我有一个朋友,他小厂背景.15年毕业.普通学校,这看起来确实没什么战斗力,但 ...
- Java并发编程笔记—摘抄—基础知识
什么是线程安全 当多个线程访问某个类时,不管运行环境采用何种调度方式或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的. 竞态 ...
最新文章
- Android之 AndroidManifest xml 文件解析
- python怎么读文件夹下的文件夹-如何使用Python读取文件夹中的文件数量?
- 物理约束相关问题梳理
- 物料需求计划评估和订单创建
- Latex快速入门系列 -- 在TexStudio中正确插入参考文献的基本操作
- 二分法变种小结(leetcode 34、leetcode33、leetcode 81、leetcode 153、leetcode 74)
- oracle修改成olap模式,的Oracle OLAP Java实现 - 正确源加入
- Labview 时间计数器 等待(ms) 等待下一个整数毫秒
- kettle优化抽取数据速度_基于kettle工具提高表输出写入速度(每秒万条记录)
- java-HDU1698(线段树的区间更新,和区间查询)
- 利用ajax如何根据权限加载目录,AJAX调用框架,包含权限验证
- c语言键盘函数空格,C语言中关于scanf函数的用法
- Sql根据身份证计算年龄和时间范围的条件查询
- 浅谈完备化及完备空间上的线性算子
- 西门子g120变频器接线图_西门子变频器G120如何通过速度限幅来避免飞车的发生...
- AI玩游戏系列,机器学习玩游戏(1) 一维游戏
- Threejs 加载3D模型
- 【沃顿商学院学习笔记】管理学——06腐败带来的间接成本和全球制裁状况Indirect Costs and Sanction
- andriod 连接数据库(MySQL)
- 云笔记+心情日记类APP推荐
热门文章
- 数据库设计注意事项和原则
- DOM-3 【utils/待讲评】节点属性、方法、封装方法、DOM结构
- Apache CarbonData 1.5.0编译及安装
- 怎么建立微信生态用户增长模型?
- 数组去重的各种方式对比
- Android 自定义WebView弹窗及屏蔽弹窗
- angularjs初始化时不显示模板内容, 不显示html, 不显示template
- 浙企加入中国大数据产业生态联盟 共商数据价值
- 《数据结构与抽象:Java语言描述(原书第4版)》一P.4.1 标识类
- mvn deploy 推送到私有仓库,注意当前日期