【FND】EBS中Java并发程序开发
开发步骤
下载相关标准包
fndutil.jar
fndcp.jar
fndctx.jar
下载目录$JAVA_TOP/oracle/apps/fnd/jar/写java类
定义包名规则:
a. 如果完成后只有简单的class类,则定义报名的路径要和上传到服务器的路径一致,如package oracle.apps.hqc; 则class文件需要上传到$JAVA_TOP/oracle.apps.hqc/目录下;
b. 如果项目比较复杂最好打包成jar,然后上传到服务器指定的目录
类说明:
自己的类必须实现JavaConcurrentProgram接口,并且实现并发入口函数runProgram(CpContext ctx)发布注册
3.1 发布java程序
a. 如果只有简单的class类,则上传到服务器的包名路径,如package oracle.apps.hqc; 则class文件需要上传到$JAVA_TOP/oracle.apps.hqc/目录下即可,并发管理器会自动找到class文件;
b. 如果程序打包成jar包则可以上传到$JAVA_TOP中指定的目录,然后有两种方式引用jar包:
方法一:修改$APPL_TOP/admin/adovars.env里的CLASSPATH和AF_CLASSPATH,把jar的绝对路径添加进去,然后重启并发管理器。
方法二:在并发程序的选项上增加如下内容:
-classpath <path_to_your_custom.jar>/custom.jar:<path_to_JAVA_TOP>:<path_to_appsborg.zip>/appsborg.zip
---绝对路径
<path_to_appsborg.zip> = $COMMON_TOP/java/lib/appsborg.zip
例如:
-classpath /u1/TEST52/apps/apps_st/comn/java/classes/hqc/Loadjava/EBSExcel.jar:/u1/TEST52/apps/apps_st/comn/java/classes:/u1/TEST52/apps/apps_st/comn/java/lib/appsborg.zip
R12.2环境
1、上传com文件夹到$JAVA_TOP下
2、编译object、package
3、注册请求R12.2.10中POI3.10已在ebs3rdpartyManifest.jar中,ebs3rdpartyManifest.jar已在classpath
$COMMON_TOP/shared-libs/ebs-3rdparty/WEB-INF/lib/ebs3rdpartyManifest.jarR12.1.3
1、上传CuxFndExcel.jar至$JAVA_TOP/oppo
2、编译object、package
3、注册请求
-Xms512M -Xmx1024M -classpath /u1/TEST52/apps/apps_st/comn/java/classes/oppo/CuxFndExcel.jar:/u1/TEST52/apps/apps_st/comn/java/classes:/u1/TEST52/apps/apps_st/comn/java/lib/appsborg.zip
参考:
1.Classpath Setting of Third Party Jar Files in R12 Java Concurrent Program (JCP) (文档 ID 1292694.1)
2.Path for java/appsborg2.zip in R12
3.2 并发请求注册
执行方法:Java并发程序
执行文件名:类名
执行文件路径:包名
并发请求设置同其他并发程序,略
- 示例
package oracle.apps.hqc;import oracle.apps.fnd.cp.request.CpContext;
import oracle.apps.fnd.cp.request.JavaConcurrentProgram;
import oracle.apps.fnd.cp.request.LogFile;
import oracle.apps.fnd.cp.request.ReqCompletion;
import oracle.apps.fnd.util.NameValueType;
import oracle.apps.fnd.util.ParameterList;public class TestHqc implements JavaConcurrentProgram {@Overridepublic 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!!!");}}
}
5、FQA
1)idea打包jar运行报错
Exception in thread “main” java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
解决:使用压缩软件打开jar包 删除:META-INF目录下的除了mainfest.mf,.rsa及maven文件夹 以外的其他所有文件
2)使用高版本jdk报错
java.lang.UnsupportedClassVersionError: com/oppo/ebs/DemoHqc : Unsupported major.minor version 52.0
解决:换用jdk1.6打包
参考文献
- https://www.docin.com/p-373932599.html
- https://blog.csdn.net/sunansheng/article/details/51837077
- https://www.cnblogs.com/echochen/archive/2011/11/17/2253148.html
https://www.cnblogs.com/echochen/archive/2012/01/02/2309735.html
4.OAF_开发系列25_实现OAF中Java类型并发程式开发oracle.apps.fnd.cp.request(概念)
5.http://www.javashuo.com/article/p-qdyomcqb-he.html
【FND】EBS中Java并发程序开发相关推荐
- EBS中Java并发程序笔记(1)
在Oracle EBS中的Java并发程序(Java Concurrent Program)是系统功能中的一个亮点,它的出现使得用户可以在ERP系统中运行自己定义的Java程序.本文为学习笔记,所以不 ...
- ebs java并发_EBS中Java并发程序笔记(1)
在Oracle EBS中的Java并发程序(Java Concurrent Program)是系统功能中的一个亮点,它的出现使得用户可以在ERP系统中运行自己定义的Java程序.本文为学习笔记,所以不 ...
- PPT | 云客堂——云服务助力Java 应用程序开发及部署
这里将最近录的视频课程的PPT分享给大家,课程内容主要围绕 IBM Bluemix 云平台的学习与应用.这是一个课程系列,最初命名为"步云之道--课间10分钟",现在改为" ...
- exchange java对象,【原】Java并发程序的一个应用Exchanger的实例
[原]Java并发程序的一个使用Exchanger的实例 今天看了些Exchanger的资料,有个喝水的例子不错.我这里细化了以下,并得到实现. 思路: 有一个Drinker和一个Waiter,有两个 ...
- Visual Studio 中的应用程序开发
Visual Studio 中的应用程序开发 http://msdn.microsoft.com/zh-cn/library/h8w79z10(v=VS.90).aspx 转载于:https://ww ...
- Java桌面程序开发——如何开发美观漂亮好看的桌面程序
大家想到使用Java这门编程语言大多是脑海中是浮现的B/S开发,高并发.云计算.大数据等等,今天给大家带来的是Java不一样的使用方式--使用Java做PC桌面程序开发. 不同的是,之前Java是使用 ...
- 【转】Java桌面程序开发——如何开发美观漂亮好看的桌面程序
大家想到使用Java这门编程语言大多是脑海中是浮现的B/S开发,高并发.云计算.大数据等等,今天给大家带来的是Java不一样的使用方式--使用Java做PC桌面程序开发. 不同的是,之前Java是使用 ...
- Java并发编程开发笔记——2线程安全性
在构建稳健的并发程序时,必须正确地使用线程和锁.但这些终归只是一些机制.要编写线程安全的代码,其核心在于要对状态访问操作进行管理,特别是对共享的(Shared)和可变的(Mutable)状态的访问. ...
- Java应用程序开发
Java应用程序(awt)图标更改: 主要使用Toolkit来createImage,然后使用Frame的方法来setIconImage,已达到相应的效果 http://www.shangxueba. ...
最新文章
- 数据结构源码笔记(C语言):直接插入排序
- Python Django开发案例:POST方式实现登录功能
- git比较当前工作区和之前提交的内容差异
- 机器学习基石-作业二-第10题分析
- python和易语言爬虫速度_如何优化 Python 爬虫的速度?
- 错误票据java_【蓝桥杯】错误票据 - osc_bskh1wlw的个人空间 - OSCHINA - 中文开源技术交流社区...
- 模板设计模式_23种设计模式之模板设计模式
- Grep命令学习笔记(转)
- 毕设系统之网上订餐管理系统
- python写文件指定编码_python指定写入文件时的编码格式方法
- spring源码解析——@Component注解原理
- VideoView播放视频的时候尺寸异常
- 吴晓波最劲爆演讲:终于把传统行业的转型升级都讲清楚了
- ntp 服务 --Centos
- java中二维数组的长度
- ISO26262第二版发布
- 为数据而生:大数据创新实践八步骤
- python二级题库(百分之九十原题) 刷题软件推荐 第三套
- 一文搞懂从浏览器输入一个URL到页面出现都经历了哪些过程
- 2016初中计算机考试试题,2016年计算机二级考试MS Office习题及答案
热门文章
- 关于计算机的英语笑话,最经典的英语笑话,戳中你的笑点了吗?
- 【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交
- OpenCV (c++)使用KDTree时,得到正确结果后报Segmentation fault (core dumped)
- Linux磁盘相关-分区与修复
- 【HTTP Status 500 - Servlet execution threw an exception】
- 丰富网页摘要——HTML5中的“微数据”(MicroData)
- 第一个RSF自动化测试用例-启动打开百度页面,搜索【月饼】关键字,关闭浏览器...
- 虚拟机挂载优盘和识别优盘
- java和大行自行车哪个好_全面解析曝光大行折叠自行车d8和p8配置有什么区别?哪个好?优缺点内幕透露...
- 区块链的概念定义是什么