EJB介绍,
EJB介绍,
1.什么是Java Bean?
Java Bean 是可复用的组件,对Java Bean 并没有严格的规范,理论上讲,任何一个Java
类都可以是一个Bean。但通常情况下,由于Java Bean 是被容器所创建(如Tomcat)的,所
以Java Bean 应具有一个无参的构造器,另外,通常Java Bean 还要实现Serializable 接口
用于实现Bean 的持久性。
2.什么是EJB?
Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java 的远程方法调用
(RMI)技术的,所以EJB 可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如
Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的EJB 组件,而是通过
其容器访问。EJB 容器是EJB 组件的代理,EJB 组件由容器所创建和管理。客户通过容器
来访问真正的EJB 组件。
3.EJB分类
1)会话Bean(Session Bean)
1-1)有状态会话Bean(Stateful Session Bean)
当客户机和服务器建立连接之后,状态会话Bean (Stateful Session Bean) 将一直
在客户机和服务器之间保持着用户的某个状态。例如:用户使用银行的ATM 时,经
过验证之后,用户可以连续执行多次操作,在这个过程当中,用户的合法状态将一
直被保留,直到她将信用卡取出,结束这次操作。这时,状态会话Bean (Stateful
Session Bean) 也就被销毁。
1-2) 无状态会话Bean(Stateless Session Bean)
当客户机和服务器建立连接之后,无状态会话Bean (Stateless Session Bean)处理
单一的用户请求或商务过程。无状态会话Bean (Stateless Session Bean)不需要从
以前的请求中提取任何状态。例如,用户的用户密码确认。用户输入密码后,发送请
求。组件返回真或假来确认用户,一旦过程完成,无状态会话Bean (Stateless
Session Bean) 也宣告结束。
2)实体Bean(Entity Bean)
Entity Bean 是域模型对象,用于实现O/R 映射,负责将数据库中的表记录映射为
内存中的Entity 对象,事实上,创建一个Entity Bean 对象相当于新建一条记录,
删除一个Entity Bean 会同时从数据库中删除对应记录,修改一个Entity Bean 时,
容器会自动将Entity Bean 的状态和数据库同步。
2-1)BMP(Bean管理持久性)
BMP 是指由Bean 自己来实现实体Bean 的持久性,即在Bean 中实现数据库操作。
2-2)CMP(容器管理持久性)
CMP 是由容器实现Bean 的持久性,不需要在Bean 内再编写数据库操作的代码。
3)消息驱动Bean(MessageDriven Bean)
MessageDriven Bean 是EJB2.0 中引入的新的企业Bean,它基于JMS 消息,只
能接收客户端发送的JMS 消息然后处理。MDB 实际上是一个异步的无状态Session
Bean,客户端调用MDB 后无需等待,立刻返回,MDB 将异步处理客户请求。这
适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等
待一个方法调用直到返回结果。
4.如何调用EJB
一旦EJB 被发布,客户端就可以使用它的JNDI 名字来定位EJB。首先,它必须得到一个到
home 接口的reference。然后,客户端可以使用该接口,调用一个create() 方法来得到服
务器上运行的某个bean 实例的句柄;最后,客户端可以使用该句柄在bean 中调用方法。
相关文章
- 暂无相关文章
用户点评