rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » JavaEE

EJB介绍

1,  EJB(Enterprise Java Bean)是J2EE三大组件技术之一,它是建立基于Java的服务器端组件的标准。它与JavaBean的区别是:JavaBean是一台机器上同一个地址空间中运行的组件,是进程内的组件。而EJB是在多台机器上跨几个地址空间运行的组件,因此是进程间组件。

2,  EJB实例封装在一个称作框架的特殊对象中,该对象拥有到另一个称作“存根”的特殊对象的网络对象。存根实现商业接口,但不包含商业逻辑,它拥有到框架的网络套接字连接。存根只是哑网络对象,它将请求通过网络发送给框架,然后框架调用真正到EJB实例上的方法。EJB实例完成所有工作,存根和框架只是通过网络来回传递方法和自变量。

3,  EJB分类:

(1)       会话Bean:检索或存储数据以满足用户请求的操作

(2)       实体Bean:满足用户请求的数据库

(3)       消息驱动Bean:实现了某些业务逻辑的异步消息接收者

4,  EJB与容器交互的三种机制:

(1)       回调方法:每个EJB都会实现Enterprise Bean接口的子类型,该接口定义的一些方法。回调方法可以让EJB在事件之前或之后立即执行内部调整。

(2)       EJBContext对象:每个EJB都会得到一个EJBContext对象,它是对容器的直接引用。

(3)       Java命名和目录接口(JNDI)

5,  使用XML部署描述信息来处理容器与EJB组件间的交互

XML在jar中必须以特定名称META-INF/ejb-jar,xml保存

6,  有状态会话Bean:在客户访问之间保存数据

无状态会话Bean:不会在客户访问之间保存数据

   无状态会话Bean每次调用只对客户提供业务逻辑,但服务器端不保存客户端的任何数据状态。

7,  设计一个无状态的会话Bean的四个步骤:

(1)       开发Bean实现类

(2)       开发主接口

(3)       开发组件接口

(4)       编写部署文件

8,  接口类型:

主接口:创建、查找和销毁EJB组件

商业接口:暴露EJB组件的商业功能、供远程客户端调用

9,  测试EJB的程序的说明:

(1)       InitialContext对象用来获取当前Servlet小应用程序的语境

(2)       方法lookup()从组件池中查找一个JDNI对象

(3)       取得一个远程主接口的引用

其中,lookup()方法返回的是一个Object类型的远程主接口对象的残根。需要使用javax.rmi.PortableRemoteObject的narrow方法获取一个具体的对象引用。调用create()方法获取一个Converter(自己定义的)组件接口的实例引用,然后就可以像在本地一样去引用这个实例了,使用它的商业方法。

10,   EJB调用:

将EJB组件的接口文件打包成一个jar包,添加到需要调用EJB组件的应用的Java编译路径中即可。

11,   有状态会话Bean:

在客户引用期间维护Bean中的所有实例数据的状态值,这些数据在引用期间可以被其他方法所用,其他客户不会共享一个会话Bean的实例。

12,   创建EJB的大致步骤:

编写Bean实现类(手动)---->添加到EJB模块-- >生成接口文件(远程商业接口文件、远程主接口文件、本地商业接口文件、本地主接口文件)---->EJB配置描述文件-- >部署EJB(将EJB部署到JBOSS服务器上)--- >测试EJB(手动)

13,   实体Bean:用来代表底层的对象,最常用的是用实体Bean映射关系到数据库中的记录。

14,   实体Bean的持久性:由于这种Bean对应相关数据库中的记录,所以数据库记录的任何改变也应该被同步到组件池中相关的Bean中

(1)  CMP容器管理持久性

(2)  BMP Bean管理持久性

15,   BMP的Bean具有灵活的业务处理能力和更灵活的持久性控制能力,常用来映射一些复杂的数据视图或很难用CMP实现的复杂逻辑处理。

16,   消息驱动Bean:用来使用异步JMS(Java Message Service)消息,当JMS消息到来时,容器调用消息驱动Bean进行处理。消息驱动Bean可以并发地使用接收到的多个消息。

顶一下
(0)
踩一下
(0)