EBS中Java并发请求代码编写规范

来源:互联网 发布:怎么样做淘宝客赚钱 编辑:程序博客网 时间:2024/06/06 02:43

程序结构

1)     必须先定义一个package名称如package com.gagc;

2)     必须引入import oracle.apps.fnd.cp.request.*; import oracle.apps.fnd.util.*;这两个包。


3) 主类文件必须定义为public class MyJava implements JavaConcurrentProgram形式

其中implementsJavaConcurrentProgram 是必须的。

4) 必须定义public void runProgram(CpContext ctx)函数。这个函数是并发请求的入口必须按照这个方式定义。


相关库

oracle.apps.fnd.cp.request.*和oracle.apps.fnd.util.*两个包可以通过引入fndutil.jarfndcp.jar这两个文件来实现这两个文件在$AU_TOP下的Java目录下有。关于这两个jar包的文档可以到Metalink上去查。打jar包的步骤请参见群里的相关文档。


源代码中的常用语句和方法:

我们在定义runProgram方法的时候定义了一个CpContext 对象参数ctx,见上图

下面出现的所有ctx 都是指runProgram的参数CpContext。

输出信息

定义一个logfile变量:private LogFile lfile;

赋值:this.lfile =ctx.getLogFile();

输出,注意后面有一个int参数:

this.lfile.writeln("Beforeencryption:" + content,1);

获取数据库连接

定义变量:privateConnection gCon;

获取当前数据库连接,多次获取得到同一个连接:

gCon = ctx.getJDBCConnection();

多次调用获取不同的连接:gCon=ctx.getExtraJDBCConnection();

获取数据库连接后调用plsql代码                                            

OracleCallableStatement ocs = null;

定义匿名块字符串:

String invokeSql =

        "begincux_zc_feedback.z00_feedback(:p_company_code,"+":p_period_name," +

        ":p_flag ); " +"end;";

//调用plsql回传状态标识

                  try{

                          java.sql.Connectioncon = ctx.getExtraJDBCConnection(); //创建一个新的数据库连接

            ocs = (OracleCallableStatement)con.prepareCall(invokeSql);

            ocs.setString(1, a[0]);

            ocs.setString(2, a[1]);

            ocs.setString(3,String.valueOf(flag));

            ocs.execute();

                                                                  ocs.close();

                                                    

                  注1:匿名块字符串中形如:p_company_code变量表示占位符,和下面的ocs.setString(1, a[0]);中的数字1对应,从这里把java中的变量作为参数传入调用的plsql代码。

                  注2:因为java中没有ocs. Setchar()的方法,所以遇到传入单个字符时我们使用ocs.setString(3, String.valueOf(flag));的方式


编写示例代码上传EBS

我们本次使用java代码实现AES加密功能,并上传至EBS用并发请求实现调用加解密过程。

上传编译

将.java后缀的源文件上传至服务器$JAVA_TOP目录下,本例文件为AESEncrypt.java

上传后输入javac -d . AESEncrypt.java 进行编译。

无报错后,会在/u02/oracle/finatest/apps/apps_st/comn/java/classes/com/gagc(目录后两个是包名com.gagc)生产.class文件。

接着定义EBS可执行和并发程序

执行文件路径-->包名,执行文件名-->类名称


方法为java并发程序。

运行请求

查看日志文件,达成调用




原创粉丝点击