什么是EJB?

EJB 构件用于封装业务逻辑,使开发人员无须再担心数据访问、事务处理支持、安全性、高速缓存和迸发等琐碎任务的编程。在 EJB 规范中,它们由 EJB 容器负责。EJB 包含接口和类。客户端通过 EJB 的本地接口和远程接口访问 EJB 方法。本地接口提供的方法可用于生成、删除和查找 EJB,远程接口则提供业务方法。部署时,容器从这些接口生成类,这些类使客户端可以访问、生成、删除、查找和调用 EJB 上的业务方法。EJB 类为业务方法、生成方法和查找方法提供实施,如果 Bean 管理自己的存储,还得提供生成生命周期方法的实施。
EJB 共有三种类型:EntityBean(实体 Bean)、Session Bean(会话 Bean)和 Message Driven Bean(消息驱动 Bean),下面分别说明。
(1)实体 Bean。实体 Bean 表示数据库中的数据及作用于数据的方法。在关系型数据库中,表中的每一行就是一个 Bean 的实例。实体 Bean 是具有持久性的事务处理型 EJB,只要数据存在于数据库中,实体 Bean 就存在。
用容器管理的持久性访问关系数据库的 EJB,不需要为数据库访问使用任何 JDBC API,因为容器可以负责完成这项任务。但是,如果使用 Bean 管理的持久性或想访问关系数
据库以外的企业信息系统,就需要提供相应的程序代码才能完成。但是如果 EJB 使用 Bean 管理的持久性访问数据库,用户必须借助于 JDBC API 实施 Bean 生命周期方法,这样才能加载和保存数据,并保持运行和持久数据库存储之间的一致性。
(2)会话 Bean。会话 Bean 代表与客户间的短暂对话。在执行数据库读写时,会话 Bean 可以请求 JDBC 调用,也可以使用实体 Bean 执行调用,这时会话 Bean 是实体 Bean 的客户端。会话 Bean 的字段中包含对话的状态,如果服务器或客户端出现故障,会话 Bean 将消失。
会话 Bean 可以有状态,也可以无状态。有状态会话 Bean 包含客户端方的对话状态,对话状态是会话 Bean 实例的字段值加上可以从会话 Bean 字段阅读的所有对象。有状态的会话 Bean 不表示持久数据库中的数据,但能够以客户端的名义访问和更新数据。
无状态会话 Bean 没有客户端的任何状态信息。它们一般不提供保留任何状态的服务器行为。无状态会话 Bean 需要的系统资源较少。提供通用服务或表示共享数据视图的业务对象适合作为无状态的会话 Bean。
(3)消息驱动 Bean。EJB2.0 规范中的消息驱动 Bean 能处理从 JMS 消息队列接收到的异步消息。JMS 将消息路由到消息驱动 Bean,由消息驱动 Bean 从池中选择某个实例处理消息。
消息驱动 Bean 在 EJB 容器中管理。由于它们不是由用户的应用直接调用的,因此不能借助 EJB 本地接口从应用进行访问。但是,用户的应用可以将消息发送到 Bean 所监听的 JMS 队列中,以此来实例化消息驱动 Bean。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值