EJB学习(四)——Enterprise Bean(企业Bean)和Entity Bean(实体Bean)

    

    一、为什么使用EJB ?


    企业Bean运行在EJB容器中,企业Bean实际上就是一个封装了业务逻辑的Java类,那么我们为什么要使用EJB呢 ?

                           

    

    

    1.最重要的原因:分布式。简要的说,分布式可以将分布在各处的资源综合利用,但是对于用户来说展现的是一个统一的整体;分布式可以动态分配任务,分散物理的和逻辑的资源,从而提高执行效率;分布式技术可以避免由于单个节点失效而使整个系统崩溃的危险。


    2.分布式对象之间的事务支持,RMI(Remote Method Invocation,远程方法调用)不支持事务。


    3.支持不同的客户端,只要少量代码,就可以让远程客户端访问到企业Bean。


    二、EJB的基本分类


    


    1.Session Bean

    

    即会话Bean,可以执行业务逻辑操作,如注册用户、订单登记等。

    

    问:什么是会话?

    答:即从客户端获得EJB对象开始,然后调用EJB的方法(可以多次),直到客户端声明周期结束或客户端释放了EJB对象为止,称为一次会话。


    问:Stateful Session Bean 和Stateless Session Bean有什么区别?

    答:Stateful Session Bean 即有状态的Session Bean,Stateless Session Bean即无状态的Session Bean,所谓的有状态和无状态,是由Session Bean的成员变量决定的。

      ·Stateful Session Bean:即EJB能够为同一个客户端在多次请求(方法调用)之间保持状态信息。

      ·Stateless Session Bean:并非是说EJB不能存在状态,而是说EJB容器不会对EJB的状态做管理。

      简言之,有状态的Session Bean,即客户端每次请求都会创建一个新的对象;

      无状态的Session Bean,就是客户端每次请求都访问的一个对象。


    2.Message Driven Bean


     Java 消息服务( Java Message Service, 简称 JMS) 是企业级消息传递系统, 紧密集成于 Jboss Server 平台之中。 企业消息传递系统使得应用程序能够通过消息的交换与其他系统之间进行通信。
    消息驱动 Bean(MDB)是设计用来专门处理基于消息请求的组件。 它是一个异步的无状态 Session Bean, 客户端调用 MDB 后无需等待, 立刻返回, MDB 将异步处理客户请求。


    3.Entity Bean


    持久化是位于 JDBC 之上的一个更高层抽象。持久层将对象映射到数据库,以便在查询、 装载、 更新, 或删除对象的时候, 无须使用像 JDBC 那样繁琐的 API。在 EJB 的早期版本中,持久化是 EJB 平台的一部分。从 EJB 3.0开始, 持久化已经自成规范, 被称为 Java Persistence API。Java Persistence API 定义了一种方法,可以将常规的普通 Java 对象(有时被称作 POJO)映射到数据库。 这些普通 Java 对象被称作 Entity Bean。




评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值