1、什么是EJB
EJB就是一个封装了业务逻辑的java类
2、为什么要用EJB
分布式,分布式对象之间相互协作
分布式对象事务支持
支持不同的客户端
3、EJB的分类
(1)Enterprise Bean---->企业Bean
Session Bean---->会话Bean
Stateless Session Bean---->无回话状态的Bean @Stateless
Stateful Session Bean---->有会话状态的Bean
Messige Driven Bean---->消息驱动Bean
(2) Persistence---->持久化
Entity Bean---->实体Bean
注意:在EJB2中,实体Bean分为BMP(Bean管理的持久化实体Bean)和CMP(容器管理的持久化实体Bean)
4、Session Bean的理解
从客户端获取EJB对象开始,然后调用EJB方法(可多次),直到客户端生命周期结束或者客户端释放了EJB对象,称为一次对话
随着会话终止,EJB对象也会被EJB容器销毁
stateful Session Bean 即EJB能够为同一个客户端再多次请求方法之间保持各自的状态信息
stateless Session Bean 不是说EJB不存在状态,而是EJB容器不对EJB的状态管理,EJB容器使用实例池或者单例模式管理Stateless Session Bean,所以它的状态要比stateful Session Bean好
5、定义客户端的访问接口
(1)EJB要支持什么样的客户端?
远程客户端 客户端与其调用的EJB对象不在一个进程中
本地客户端 客户端与其调用的EJB对象在一个进程中
webService客户端
判断依据:看是JBOSS和调用对象否在一个JVM进程
(2)访问方式
远程访问方式
本地访问方式