OAF二次开发step by step(四)--OAF二次开发程序的部署

在二次开发完成后,可以将所做的修改部署到测试环境上去进行初步的流程测试,以发现bug,修正错误。 因为是二次开发,在你本地的myclasses目录下既有系统原有的标准代码,也有你自己二次开发过的代码。如果涉及到的java类的数量比较多的话,部署的时候也会比较费劲。所以在做开发的时候,一边做一边整理出一个列表绝对会是个好习惯的。整理个类的清单出来,这样在部署的过程中,就不容易发生覆盖错误。一般在部署之前,先把$JAVA_TOP下的做了二次开发的目录整个打个tar包备份出来,以备发生严重错误时进行恢复。然后再根据整理出来的清单,把需要覆盖掉的系统原标准类添加后缀bak。这样做的好处是,如果发生了少量的类的覆盖错误,可以直接将原来的bak类恢复,如果发生了无法解决的系统问题,可以将整个目录用原来备份的tar包覆盖,看问题是否能够解决。另外还需注意EBS的官方patch对应用系统的影响,每次在打补丁之前应做仔细评估,看是否需要打,打了以后是否需要调整原有的客户化程序。 我的部署方式:     1、对于少量的修改,直接使用ftp将myclasses下修改过的class文件,上传到应用服务器上相对应的目录下。将修改的PG或者RN文件,导入到EBS数据库中去。     每在一个环境下开发,我一般会创建两个bat脚本文件,一个是my_export.bat,一个是my_import.bat     其内容如下:     my_export.bat     D:/p6509325_R12_GENERIC/jdevbin/oaext/bin/export.bat %1 -rootdir D:/export -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS=

(PROTOCOL=tcp)(HOST=ebs.erpsoft.com)(PORT = 1521))(CONNECT_DATA=(SID=PROD)))"     pause     my_import.bat     D:/p6509325_R12_GENERIC/jdevbin/oaext/bin/import.bat %1 -rootdir D:/p6509325_R12_GENERIC/jdevhome/jdev/myprojects -username apps -password apps

-dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ebs.erpsoft.com)(PORT = 1521))(CONNECT_DATA=(SID=PROD)))"     pause     有了以上两个文件,则进行手工导出时,可以在cmd中运行如下命令:     D:/oaf_bat/prod>my_export /oracle/apps/eam/workorder/webui/EAM_WO_SEARCH_RG     其中后面的/oracle/apps/eam/workorder/webui/EAM_WO_SEARCH_RG通过查看环境中页面的“关于此页”链接可以得到。     在进行手工导入时,可以在cmd中运行如下命令:     D:/oaf_bat/prod>my_import D:/p6509325_R12_GENERIC/jdevhome/jdev/myprojects/oracle/apps/eam/workorder/webui/EAM_WO_SEARCH_RG.xml     注意导入时需要加xml的后缀,而在导出时则不需要加xml后缀。     2、对于大量的部署,则可以直接使用自动脚本来完成。     当然,首先还是需要整理出一个部署清单才行。     在$JAVA_TOP目录下新建一个oaf_deploy目录,在其下再创建oracle/apps目录,     将你的myclasses目录下的oracle/apps下的需要部署的应用子目录整个上传到该目录下。     完成上面的工作后,需要编写两个脚本:oaf_cp.sh和oaf_imp.sh     oaf_cp.sh针对需要直接覆盖的xml和class文件     其中的内容为     mv $JAVA_TOP/oracle/apps/eam/server/AssetNumberRVO.xml           $JAVA_TOP/oaf_deploy/oracle/apps/eam/server/AssetNumberRVO.xml.bak     cp $JAVA_TOP/oaf_deploy/oracle/apps/eam/server/AssetNumberRVO.xml           $JAVA_TOP/oracle/apps/eam/server/AssetNumberRVO.xml     mv $JAVA_TOP/oracle/apps/eam/workorder/server/WorkOrdersVORowImpl.class       

          $JAVA_TOP/oaf_deploy/oracle/apps/eam/workorder/server/WorkOrdersVORowImpl.class.bak     cp $JAVA_TOP/oaf_deploy/oracle/apps/eam/workorder/server/WorkOrdersVORowImpl.class       

         $JAVA_TOP/oracle/apps/eam/workorder/server/WorkOrdersVORowImpl.class     oaf_imp.sh针对需要导入数据库的PG和RN文件     其中的内容为     java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/oaf_deploy/oracle/apps/eam/workorder/webui/EAM_EW_START_PAGE.xml -rootdir    

$JAVA_TOP/oaf_deploy -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ebs.erpsoft.com)(PORT = 1521))

(CONNECT_DATA=(SID=PROD)))"     java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/oaf_deploy/oracle/apps/eam/workorder/webui/EAM_WO_SEARCH_RG.xml -rootdir

$JAVA_TOP/oaf_deploy -username apps -password apps -dbconnection "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ebs.erpsoft.com)(PORT = 1521))

(CONNECT_DATA=(SID=PROD)))"     然后将上面创建的两个脚本上传到$JAVA_TOP目录下,修改文件属性,使其可以在应用用户(比如applprod)下执行。     上述过程完成后,即可执行自动脚本进行批量部署。     3、部署完成后,需要重启服务,一般需要重启apache和oacore服务,命令如下:     cd /u01/prod/inst/apps/PROD_erpprod/admin/scripts     adapcctl.sh stop     adoacorectl.sh stop     sleep 10     adapcctl.sh start     adoacorectl.sh start     可以把下面的命令编写为脚本,以方便使用。当然用时候为了省事,直接重启全部应用亦可。    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值