EJB三种企业Bean

来源:互联网 发布:java怎么定义一个方法 编辑:程序博客网 时间:2024/05/16 11:16

EJB——EnterpriceJavaBeans:是一个用于分布式业务应用的标准服务端组件模型。

采用EJB架构编写的应用是可伸的、事务性的、多用户安全的。可以一次编写这些应用,然后部署在任何支持EJB规范的服务器平台,如JBoss、WebLogic。

 

EJB定义了三种企业Bean——会话Bean(SessionBean),实体Bean(Entity Bean)、消息驱动Bean(MessageDriven Bean)

 

1,Session Bean:Session Bean 用于实现业务逻辑,比如用户注册、信息记录、数据操作等

它分为有状态Bean和无状态Bean。每当客户端请求时,容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。

 

什么叫会话(Session)?

从客户端获得EJB对象开始,然后调用EJB的方法(可以多次),直到客户端生命周期结束,或客户端释放了EJB对象为止,称为一次会话。随着会话的终止,EJB对象也有可能会被EJB容器销毁。


下图,Session Bean通过Entity Bean往数据库插入一条记录


2,实体Bean:从名字上我们就可知,实体Bean代表真实物体的数据,在JDBC+JavaBean编程过程中,通常把JDBC查询的结果信息存入JavaBean,然后供后面程序进行处理。在这里你可以把实体Bean看作是用来存放数据的JavaBean。但是比JavaBean多了一个功能,实体Bean除了担负起存放数据的角色,还要负责跟数据库进行对象与关系映射(O/R Mapping)

 

我目前的理解:实体Bean,挺好理解的就如同学习.net三层架构时的实体层(Entity),存放实体类,贯穿于整个架构。而实体Bean多了一个功能:负责跟数据库进行对象与关系映射(O/R Mapping)

下图,对象与关系映射


3,消息驱动Bean(MDB):是设计用来专门处理基于消息请求的组件。它能够收发异步JMS消息,并能够轻易地与其他EJB交互。它特别适合用于当一个业务执行的时间很长,而执行结果无需实时想用户反馈的这样一个场合。

0 0
原创粉丝点击