EJB
五个步骤
-
Bean
-
接口
-
Xml
部署描述文件
-
Ejb-jar
-
部署
组件接口里面声明所有业务方法
客户使用
home
接口来请求组件接口的一个引用
组件接口必须扩展
EJBObject
Bean
必须实现
sessionBean
接口,但
bean
不能实现组件接口
部署描述文件描述的是
bean
的结构,包括三个文件(组件接口、
home
接口和
bean
类)相互之间如何关联
部署描述文件的名字必须是“
ejb-jar.xml
”,而且必须放在一个名为“
META-INF
”的目录下
EJB体系结构
如果你是一个对象,而且你有另一个对象的引用,那个对象就必须和你在同一个堆中。
JAVA
RMI
(远程方法调用)为客户提供一个代理对象,即桩(
sub
)
,
这个代理对象相当于客户和远程对象之间的中间人,客户在桩上调用方法,桩则负责完成与远程对象的底层通信(
socket
和流)
利用
RMI
,客户对象会表现得好像在做一个远程方法调用。但实际上,它只是在一个“代理”对象上调用方法,这个代理对象在客户所在的同一个堆中运行。这个代理称为“桩”,它会处理所有底层的网络
socket
和流。
服务器端有这么一个“东西“(骨架
skeleton
),桩知道怎么和它通信,另外它也知道怎么解释来自桩的消息,并在远程对象上调用一个方法
不需要自己建立桩和骨架。对于普通的
RMI
,使用
RMI
编译器就可以生成桩和骨架。
远程对象和桩都实现相同的接口(远程接口),这个接口包括了客户想调用的方法。远程接口必须扩展
java.rmi.Remote
。而且每个方法都必须声明一个
RemoteException
在
EJB
中,远程对象不是
bean
,它是
bean
的保镖
—EJBObject
远程对象和桩都实现了同一个接口,即业务接口(也称为组件接口),不过没有实际的业务逻辑行为
Bean
类没有实现业务接口,不过
bean
才有真正的业务逻辑功能
RMI
接口和远程组件接口之间的主要区别在于,在
EJB
中,远程组件接口扩展的是
javax.ejb.EJBObject
而不是
java.rmi.Remote
。
EJBObject
接口扩展了
Remote
,所以
EJBObject
是一个远程接口。通过组件接口将业务方法展现给客户。
谁来创建
EJBObject
类?
由容器来建,你来声明方法,由容器实现你的组件接口。
我们创建:组件接口,
bean
类,
home
接口
容器创建:
EJBObject
类,
EJBObject
桩类,
Home
类,
Home
桩类
EJBObject
类提
bean
类完成安全、事务等事项,而桩就像上面说的来负责完成与远程对象的底层通信
每个会话
bean
和实体
bean
都有一个
Home
,消息驱动
bean
没有
home
。
Home
的任务就是分发该
bean
组件接口的引用。
客户远程方法调用流程(假设AdviceBean是个sessionBean):
1.
AdviceBean
得到部署,服务器实例化一个
AdviceBean Home
对象,并向
JNDI
注册该
Home
对象
2.
客户对
Home
完成一个
JNDI
查找,这里使用前面注册的名字“
Advisor
“
3.
JNDI
发回远程
Home
对象的一个桩
4.
客户通过调用
create
()向
Home
请求组件接口的一个引用。(客户想“创建“一个
bean
,并得到该
bean EJBObject
的一个桩)
5.
现在“服务“介入,
bean
得到创建
6.
建立
EJBObject
,它的桩返回给客户
7.
客户在
bean
上调用一个业务方法
8.
客户不想访问该类的更多
bean
时,可以删除他的
home
桩,不过即使删除了
Home
桩,仍然可以继续调用组件接口上的方法。
分享到:
相关推荐
ejb培训笔记和源代码 ejb培训笔记和源代码
Weblogic EJB 学习笔记 ejb 基础知识 EJB 组成 EJB 配置描述器 建立ejb 档案文件 容器管理的事务 ejb 引用
平时学习笔记 java ejb3相关 开发技术
达内培训的ejb课程笔记
EJB3课堂笔记,通俗易懂,很简洁,PDF格式
EJB学习笔记 自己的学习心得
比较实用的东西,具体介绍了Weblogic Ejb的使用
EJB学习笔记2,希望大家多多进步
EJB学习笔记.doc
经典资料+个人心得,希望大家能喜欢
比较详细的EJB笔记,介绍了EJB的一系列知识,包括EJB的概念、发展、编程方式与步骤,还主要介绍了JPA的编程方式
EJB学习笔记.rar
ejb3.0入门经典笔记,我是我自己总结,希望对大家有帮助!
笔记 很好的ejb学习笔记 笔记 很好的ejb学习笔记 笔记 很好的ejb学习笔记 笔记 很好的ejb学习笔记
一、什么是企业级程序(Enterprise Application)? 具有以下特点的程序: (1) 围绕商业目的; (2) 分布分层的程序架构。 二、企业级应用的架构发展历史 Host/Terminal(主机/终端,终端不具备处理能力,数据由...
ejb3.0笔记和示例代码对应.doc
程祖红达内EJB课堂笔记完全版,最全的笔记
EJB 笔记