这里au申请信用卡的功能,这里我们用ejb远程方法调用来完成。
首先根据配置文件里面的定义
引用
<connector name="EJB_Connector" type="com.xti.messaging.connector.EjbClientConnector">
<property name="URL" value="hosturl1\:22162,hosturl2\:22172" />
<property name="ContextFactory" value="com.ibm.websphere.naming.WsnInitialContextFactory"/>
<property name="JNDI" value="ejb/Gateway" />
<property name="Home" value="com.xxbank.icc.acis.acisgateway.ejb.GatewayHome" />
<property name="Remote" value="com.xxbank.icc.acis.acisgateway.ejb.Gateway" />
</connector>
下面是客户端就是我们前端的实现:
public class EjbServiceLocator{
//根据以下方法我们就可以初始化 GatewayHome, 这是一个EJBHome 接口,我们客户端即JFP可以自己创建一个同包名的接口GatewayHome。
private Object getHomeObject(Properties prp) throws NamingException, ClassNotFoundException {
Context ctx = new InitialContext(prp);//prp 会加载上面这个配置文件,JNDI获取上下文,JNDI的命名和定义在是服务器端。
String strJndiName = prp.getProperty("JNDI");//通过上下文搜索这个EJB的实现对象群。
Object obj = ctx.lookup(strJndiName); //得到对象。
Object ejbHomeObject = PortableRemoteObject.narrow(obj, Class.forName(prp.getProperty("Home")));//初始化EJBHome的实现。
return ejbHomeObject;
}
//有了EJBHome的实现对象后,我们可以调用create 来 初始化 EJB 远程session bean。
private Object retrieveRemoteObject(Properties prp) throws ...Exception{
...
Object ejbHomeObject = getHomeObject(prp);
Method createMethod = ejbHomeObject.getClass().getMethod("create", null);
Object remoteObject = createMethod.invoke(ejbHomeObject, null);//得到远程业务代理类的实现对象。这个实现对象是一个session bean,不过对我们jfp 是黑盒的。
...
return remoteObject;
}
public Object getRemoteObject(Properties prp) throws ...Exception{
...
remoteObject = retrieveRemoteObject(prp);
...
return remoteObject;
}
}
最终在以下客户端类中得到远程session bean的业务方法的返回值序列。
public class EjbClientConnector {
public Object[] sendObjects(String methodName, Object[] objects, Class[] methodParameters) throws ...Exception{
...
remoteObject = serviceLocator.getRemoteObject(this.prp);//远程session bean的实现对象。
...
remoteMethod = Class.forName(this.remote).getMethod(methodName, methodParameters);
remoteMethodResult = remoteMethod.invoke(remoteObject, objects);//调用session bean的业务方法。得到结果。
...
}
}
以下是定义在JFP端的远程home 和远程业务代理类接口。
package com.xxbank.ejb;
import java.rmi.RemoteException;
import java.util.HashMap;
import javax.ejb.EJBObject;
public abstract interface Gateway extends EJBObject
{
public abstract HashMap processApp(HashMap paramHashMap)
throws RemoteException, Exception;
public abstract HashMap getAppStatus(HashMap paramHashMap)
throws RemoteException, Exception;
public abstract void fireEOD(int paramInt1, int paramInt2)
throws RemoteException, Exception;
public abstract HashMap getRecalcResponse(HashMap paramHashMap)
throws Exception;
public abstract HashMap getPResponse(HashMap paramHashMap)
throws Exception;
public abstract HashMap releaseLock(HashMap paramHashMap)
throws Exception;
public abstract void insertDetails(HashMap paramHashMap)
throws Exception;
}
package com.xxbank.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public abstract interface GatewayHome extends EJBHome
{
public abstract Gateway create()
throws CreateException, RemoteException;
}
分享到:
相关推荐
消息驱动Bean(MDB)允许EJB应用接收和发送JMS消息,实现异步处理,提高系统性能和可扩展性。 **10. EJB的最新发展** 随着Java EE演变为Jakarta EE,EJB也继续进化,EJB 3.2引入更多改进,如简化批处理操作和增强的...
总结,ejb网上银行系统是一个综合运用了EJB、J2EE技术和Div+CSS的实例,涵盖了企业级应用开发的诸多方面,包括用户管理、交易处理、界面设计等,对于学习和理解这些技术的实践应用具有很高的价值。
**企业级JavaBeans(Enterprise JavaBeans,简称EJB)**是Java平台上的核心组件,用于构建可扩展、安全且事务处理能力强的企业级应用程序。EJB规范由Java EE(Java Platform, Enterprise Edition)定义,旨在简化...
1. Java EE平台:Java信用卡管理系统基于Java EE(Enterprise Edition)开发,利用其提供的Servlet、JSP、JDBC、EJB等技术,构建Web应用程序。 2. 数据库管理:通常使用关系型数据库如MySQL或Oracle,通过JDBC进行...
信用卡管理系统是基于Java和JavaEE技术开发的,用于处理银行或金融机构中信用卡相关的业务流程。这个系统涵盖了从信用卡申请、审批、发行、使用、还款到风险管理等一系列操作,旨在提高金融机构的工作效率和服务质量...
在“EJB系统开发实战录”中,你将深入学习如何利用EJB技术构建高效、可靠的分布式企业应用。从设计模式到实际编码,从本地测试到生产环境部署,每个环节都将得到详细讲解,帮助开发者掌握EJB开发的核心技巧。
### 开发EJB应用知识点详解 #### 16.1 引言与概述 - **16.1.1 概述** 本章节主要介绍了EJB(Enterprise JavaBeans)及其相关概念,强调了尽管轻量级框架(如Spring)在现代软件开发中的流行度增加,但在特定场景...
EJB(Enterprise JavaBeans)...这个“ejb3.0写的登陆应用”涵盖了EJB 3.0的核心特性,展示了如何利用其优势构建一个简洁而有效的登录系统。通过深入理解和实践这些知识点,开发者能够更好地掌握Java企业级应用的开发。
本篇文章将深入探讨在JBoss应用服务器上开发EJB应用,特别是实体Bean的使用。 标题:“Jboss下开发ejb应用之一实体bean的应用” 首先,理解EJB实体Bean的含义至关重要。实体Bean代表持久化的业务对象,它们与...
在IT行业中,EJB(Enterprise JavaBeans)是Java EE(Enterprise Edition)平台的一部分,用于构建企业级分布式应用程序。本文将围绕“Jboss下开发ejb应用之一会话bean的应用”这一主题,深入探讨如何在Jboss应用...
【ejb_银行系统】是一个基于企业级JavaBean(Enterprise JavaBeans,EJB)技术构建的银行应用系统。EJB是Java平台企业版(Java EE)的核心组件之一,主要用于开发可部署在服务器端的分布式、面向服务的企业应用程序...
总的来说,这个基于EJB的网络考试系统展示了Java EE在构建大型分布式应用方面的强大能力。通过NetBeans和GlassFish的组合,开发者能够高效地开发、测试和部署系统,同时利用EJB处理复杂的业务逻辑。对于学习Java EE...
**基于EJB的网上银行系统** 企业级JavaBean(Enterprise JavaBeans,EJB)是Java平台上用于构建可扩展、安全且事务处理能力强的企业级应用程序的一种技术。在本项目"基于EJB的网上银行系统"中,EJB被用作核心组件来...
EJB(Enterprise JavaBeans)是Java EE(Java Platform, Enterprise Edition)平台中用于构建企业级分布式应用程序的核心组件。本篇文章将深入探讨EJB应用的开发,帮助开发者理解其原理、功能以及如何在实际项目中...
在这个复杂的银行系统中,EJB3(Enterprise JavaBeans 3.0)被用于构建核心业务逻辑,体现了Java EE平台在企业级应用开发中的强大能力。 【EJB3技术详解】 EJB3是Java EE规范的一部分,它简化了企业级组件的开发,...
EJB简单应用,讲解分布式EJB操作数据库的知识