分享
 
 
 

EJB学习(-)(Stateless Session Bean)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

最近时间比较空闲,打算研究一下EJB,我是用Eclipse+Lomboz+Jboss3.2.1学习的,所以不是最新的EJB规范,但应该也可以明白一些道理。

文档在http://www.tusc.com.au/tutorial/html/index.html,这是一个非常好好的文档,非常详细,

SessionBean的描述文件大致如下

<home>au.com.tusc.session.StoreAccessHome</home>

<remote>au.com.tusc.session.StoreAccess</remote>

<local-home>au.com.tusc.session.StoreAccessLocalHome</local-home>

<local>au.com.tusc.session.StoreAccessLocal</local>

<ejb-class>au.com.tusc.session.StoreAccessSession</ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

简单分析如下

Home接口为au.com.tusc.session.StoreAccessHome

远程接口为au.com.tusc.session.StoreAccess

本地Home接口为au.com.tusc.session.StoreAccessLocalHome (概念上和Home接口类似,只是为了加快本机调用EJB的速度才加上的)

本地接口为au.com.tusc.session.StoreAccessLocal

EJB的类为au.com.tusc.session.StoreAccessSes,EJB的主要实现都在这个类里,

本SessionBean是无状态的SessionBean

事务类型是容器控制

最简单的EJB如下

服务器上部署:一个Home接口,一个远程接口,一个Bean类,即

au.com.tusc.session.StoreAccessHome

au.com.tusc.session.StoreAccess

au.com.tusc.session.StoreAccessSes

客户端部署:一个Home接口,一个远程接口,一个客户类,即

au.com.tusc.session.StoreAccessHome

au.com.tusc.session.StoreAccess

客户类,用来访问远程的EJB

下面简单说一下调用过程

客户端通过JNDI找到远程的Home接口,然后调用Home的create方法得到远程接口,

然后调用此接口的方法就可以了,客户端调用的只是远程接口的方法,但服务器

实际上是调用了EJB类的方法,就是<ejb-class></ejb-class>中的类的方法,因此

Ejb类必须实现所有的远程接口中需要调用的方法,基本如下

client->jndi->home->remote

client->remote.method->bean.method

补充说明

1、 JNDI:Java Naming and Directory Interface(Java命名以及目录接口),JNDI API被用于执行名字和目录服务,它提供了一致的模型来存取和操作企业级的资源如DNS、LDAP、本地文件系统或者应用服务器中的对象

Jndi的好处是你无论调用的是什么资源,你的API实际上是一样的,大致形式如下

1)创建一个InitialContext对象,其实感觉上和创建一个Socket连接类似,就是挂到一个资源上:如

InitialContext ctx = new InitialContext(); //本机

props.put(InitialContext.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");

props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");

InitialContext initialContext = new InitialContext(props);

2)查找对象

查找数据源:DataSource ds = (DataSource)ctx.lookup(“java:comp/env/java/jdbc“);

查找Home接口:Home home = (Home)ctx.lookup(“java:comp/env/ejb/StoreAccess“)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有