java服务EJB开发文档.docx

上传人:b****1 文档编号:14937754 上传时间:2023-06-28 格式:DOCX 页数:25 大小:1.21MB
下载 相关 举报
java服务EJB开发文档.docx_第1页
第1页 / 共25页
java服务EJB开发文档.docx_第2页
第2页 / 共25页
java服务EJB开发文档.docx_第3页
第3页 / 共25页
java服务EJB开发文档.docx_第4页
第4页 / 共25页
java服务EJB开发文档.docx_第5页
第5页 / 共25页
java服务EJB开发文档.docx_第6页
第6页 / 共25页
java服务EJB开发文档.docx_第7页
第7页 / 共25页
java服务EJB开发文档.docx_第8页
第8页 / 共25页
java服务EJB开发文档.docx_第9页
第9页 / 共25页
java服务EJB开发文档.docx_第10页
第10页 / 共25页
java服务EJB开发文档.docx_第11页
第11页 / 共25页
java服务EJB开发文档.docx_第12页
第12页 / 共25页
java服务EJB开发文档.docx_第13页
第13页 / 共25页
java服务EJB开发文档.docx_第14页
第14页 / 共25页
java服务EJB开发文档.docx_第15页
第15页 / 共25页
java服务EJB开发文档.docx_第16页
第16页 / 共25页
java服务EJB开发文档.docx_第17页
第17页 / 共25页
java服务EJB开发文档.docx_第18页
第18页 / 共25页
java服务EJB开发文档.docx_第19页
第19页 / 共25页
java服务EJB开发文档.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java服务EJB开发文档.docx

《java服务EJB开发文档.docx》由会员分享,可在线阅读,更多相关《java服务EJB开发文档.docx(25页珍藏版)》请在冰点文库上搜索。

java服务EJB开发文档.docx

java服务EJB开发文档

(一)Weblogic12c的安装

1、解压wls1211_dev.zip到指定目录,参考:

(D:

\wls1211_dev)

2、设置系统环境变量JAVA_HOME,JAVA_VENDOR,MW_HOME

JAVA_HOME=D:

\Java\jdk1.6.0_19(jdk的安装目录)

MW_HOME=D:

\wls1211_dev(weblogic的解压目录)

JAVA_VENDOR=Sun

3、运行wls1211_dev下的configure.cmd

4、创建weblogic域,运行wls1211_dev下的wlserver/common/bin/config.cmd按提示界面进行默认配置

5、启动weblogic,打开http:

//localhost:

7001/console验证是否安装成功

6、配置数据源

7、点击部署,发布PMS_EAR项目

(二)Eclipse与weblogic集成

1、打开eclipse首选项Window---Preferences,选中Server下的RuntimeEnvironments,如下图所示

2、点击Add按钮,弹出NewServerRuntimeEnvironment面板,选中Oracle文件夹下的OracleWeblogicServer12c(12.1.1)

3、点击Next,选择WebLogichome和Javahome,点击Finish,完成配置

(三)EJB工程部署

1、先将PMS_EAR和PMS_SERVICE两个项目导入,选中PMS_EAR工程,点击右键选择RunAs下的RunOnServer

2、点击Next,选择Domaindirectory,勾选AlwaysstartWeblogicservcerindebugmode,点击Next直至Finish。

3、下图显示PMS_EAR已运行在WebLogicServer上。

4、控制台输出若有乱码,可以点击Run—RunConfigurations,将Common标签下的Encoding改为GBK。

5、在eclipse文件下的pulgins中加入服务插件然后在命令窗口直行eclipse–clean就行了

---------------------------------------------------------------------------------------------------------------------------------------

此处往下为管控组人员统一配置管理,开发人员禁止修改,只能查阅。

(四)EJB插件应用

第一步先建立数据应用服务器

用eclipse中的插件

选择第一个数据库维护。

点击添加弹出下面窗口

先点击连接测试按钮,看下连接是否通过,然后再点击ok完成。

第二步实体映射

用eclipse中的插件

选择第二个实体映射。

选中要映射的实体对象点击next。

选择实体存放的包路径,选择生成映射信息的xml文件后点击next

点击next

点击next

点击finish完成后就会自动生成实体对象。

第三步批量实体映射

批量实体映射比较方便多表同时映射实体对象,操作比上述简单,道理都是一样的。

第四步实体元数据维护

对上述生成的实体以及实体对应的xml文件进行维护操作。

第五步服务协议维护

创建服务协议,点击添加,进入编辑窗口

ID为前台调用服务时getServiceName()方法中映射的名称,ClassId为服务类中映射的名称,”!

”号前面的为服务名称,下面分别是设置服务的输入和输出参数列表,NumMin=1、NumMax=1,则为单个实体对象。

NumMin=0、NumMax=-1,则为实体对象集合(List)。

上述任务为管控组人员统一配置管理,开发人员禁止修改,只能查阅

第六步服务框架生成

用eclipse中的插件

,选择第六个服务框架生成。

在服务协议过滤框中输入需要编写的服务名称。

选中要编写的服务后点击next。

点击Browse选择服务路径,选择需要事务或者不需要事务后点击finish即可,然后编写相应的服务。

第七步需要关注的配置文件

在src\com\csg\client\config.properties,此文件为weblogic的配置文件。

CONTEXT_INITIAL_CONTEXT_FACTORY=weblogic.jndi.WLInitialContextFactory

CONTEXT_PROVIDER_URL=t3:

//localhost:

7001

CONTEXT_SECURITY_PRINCIPAL=weblogic

CONTEXT_SECURITY_CREDENTIALS=weblogic123

REMOTE_SERVICE_JNDI_NAME=SOAServiceConnector\#com.csg.service.xt.connector.IServiceConnector

改成自己本地的weblogic12的用户名和密码

在项目根目录下\db-config.xml,为数据库配置文件。

xmlversion="1.0"encoding="UTF-8"?

>

oracle.jdbc.driver.OracleDriver

sz_test

sz_test

jdbc:

oracle:

thin:

@10.210.15.6:

1521:

szdb

(五)正式开发服务步骤

服务会有两种:

一种是调用原子组件实现服务、另一种是调用非原子组件或业务组件实现服务。

调用原子组件:

AtomicCompUtil.getMainDSAtomicTool();用此工具类可以完成。

下面是详细实例代码。

/**

*文件名:

YK_XZYWZL-选择业务子类

*编写者:

谭亚平

*编写日期:

2012-05-19

*简要描述:

选择业务子类

*组件列表:

*调用原子组件查询业务子类参数

*********************修改日志**********************************

*修改人:

修改日期:

*修改内容:

*

*/

@Stateless(name="XZYWZLService",mappedName="XZYWZLService")

@Local(IBusinessService.class)

publicclassXZYWZLServiceimplementsIBusinessService{

/**输入输出参数常量定义**/

privatestaticfinalStringIN_PARAM="IN_FW_YKYWZLCS";

privatestaticfinalStringOUT_PARAM="OUT_FW_YKYWZLCS";

@Override

publicStringgetServiceVersion(){

return"1.0.0";

}

@Override

@TransactionAttribute(TransactionAttributeType.REQUIRED)

publicMaprunService(MaprequestParam)throwsSOAServiceException{

//获得输入参数

T_FW_YKYWZLCSywzlcs=(T_FW_YKYWZLCS)requestParam.get(IN_PARAM);

//进行输入参数校验

if(ywzlcs==null||"".equals(ywzlcs.getYwzlbh())){

//抛出异常,返回

throwServiceExceptionUtil.generateSOAServiceException("输入参数业务子类参数有误!

");

}

//设置输出参数

MapresultMap=newHashMap();

//引用原子组件,查询下级组织信息

try{

T_FW_YKYWZLCSfindYwzl=AtomicCompUtil.getMainDSAtomicTool().loadById(ywzlcs);

if(findYwzl!

=null){

resultMap.put(OUT_PARAM,findYwzl);

}else{

resultMap.put(OUT_PARAM,null);

}

}catch(DBExceptionex){

SOAServiceExceptionsoaServiceException=ServiceExceptionUtil.generateSOAServiceException(ex);

soaServiceException.setErrorMsg4Dev("调用原子组件查询业务子类参数时出错!

");

soaServiceException.setErrorLog(ex.getMessage());

throwsoaServiceException;

}

returnresultMap;

}

}

调用非原子组件或业务组件:

因需求需要调用非原子组件或业务组件,此时需要开发人员编写此服务需要的非原子组件或业务组件,规范规定sql语句只能出现在非原子组件或业务组件,所以非原子组件或业务组件会实现比原子组件更繁琐的功能,下面是详细实例代码。

服务代码:

/**

*文件名:

YK_CSHKHZRXXLBCK-初始化客户自然信息列表窗口

*编写者:

谭亚平

*编写日期:

2012-05-19

*简要描述:

初始化客户自然信息列表窗口

*组件列表:

*1)C_YK_CSHKHZRXXLBCKZJ-初始化客户自然信息列表窗口组件

*********************修改日志**********************************

*修改人:

修改日期:

*修改内容:

*

*/

@Stateless(name="CSHKHZRXXLBCKService",mappedName="CSHKHZRXXLBCKService")

@Local(IBusinessService.class)

publicclassCSHKHZRXXLBCKServiceimplementsIBusinessService{

/**输入输出参数常量定义**/

privatestaticfinalStringIN_PARAM="IN_FW_YKKHDABGXX";

privatestaticfinalStringOUT_PARAM_LIST_YKKHDABGXX="OUT_FW_YKKHDABGXX";

@Override

publicStringgetServiceVersion(){

return"1.0.0";

}

@Override

@TransactionAttribute(TransactionAttributeType.REQUIRED)

publicMaprunService(MaprequestParam)throwsSOAServiceException{

//获得输入参数

T_FW_YKKHDABGXXkhda=(T_FW_YKKHDABGXX)requestParam.get(IN_PARAM);

//进行输入参数校验

if(khda==null||"".equals(khda.getGzdbh())){

//抛出异常,返回

throwServiceExceptionUtil.generateSOAServiceException("输入参数客户变更信息有误!

");

}

//设置输出参数

MapresultMap=newHashMap();

//引用非原子组件,查询下级组织信息

CSHKHZRXXLBCKZJComcsh=newCSHKHZRXXLBCKZJCom();

ListkhdaList=csh.getCustomerChangeInfo(khda);

if(khdaList!

=null&&khdaList.size()>0){

resultMap.put(OUT_PARAM_LIST_YKKHDABGXX,khdaList);

}else{

resultMap.put(OUT_PARAM_LIST_YKKHDABGXX,null);

}

returnresultMap;

}

}

服务中出现的CSHKHZRXXLBCKZJComcsh=newCSHKHZRXXLBCKZJCom();则为调用此服务的非原子组件。

非原子组件代码:

/**

*文件名:

C_YK_CSHKHZRXXLBCKZJ-初始化客户自然信息列表窗口组件

*编写者:

谭亚平

*编写日期:

2012年5月19日

*简要描述:

*打开客户自然信息列表窗口时,初始化客户自然信息列表窗口

*组件列表:

*********************修改日志**********************************

*修改人:

修改日期:

*修改内容:

*/

publicclassCSHKHZRXXLBCKZJCom{

/**

*查询客户变更信息

*@paramkhda客户变更信息传入实体

*@returnT_FW_YKGZDJBXX-根据工作单编号查询客户变更信息

*/

publicListgetCustomerChangeInfo(T_FW_YKKHDABGXXkhda)throwsSOAServiceException{

try{

Listparams=newArrayList();

params.add(khda.getGzdbh());

//根据工作单编号查询客户变更信息

StringkhdaSql="SELECTBGXXBS,GZDBH,KHBH,KHMC,YDBZ,KHLXDM,JJLXDM,"+

"XYDJDM,XYFZ,JZDJDM,FXDJDM,VIPBZ,VIPDJDM,QYWZ,QYGM,QYJJ,ZCZBJ,"+

"ZCZJ,FRDB,JYFW,ZYCP,SCGY,CN,ZYYL,GYLY,XSE,XSQY,ZYBDXM,DFZQYCBBL,"+

"CYFLDM,DQBM,GDDWBSFROMFW_YKKHDABGXXWHEREGZDBH=?

";

DBTooldbTool=newDBTool();

ListkhdaList=dbTool.executeQuery(khdaSql,params,T_FW_YKKHDABGXX.class);

if(khdaList!

=null&&khdaList.size()>0){

returnkhdaList;

}

returnnull;

}catch(DBExceptionex){

//包装异常并填充错误信息

SOAServiceExceptionsoaServiceException=ServiceExceptionUtil.generateSOAServiceException("查询客户变更信息出错!

");

soaServiceException.setErrorMsg4Dev("根据工作单编号,调用dbTool.executeQuery()方法,查询客户变更信息出错!

");

soaServiceException.setErrorMsg4User("查询客户变更信息出错!

");

soaServiceException.setErrorLog(ex.getMessage());

throwsoaServiceException;

}

}

}

展开阅读全文
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2