J2EE探险者: 持久数据管理,第1部分 - 编程入门网
但实体 bean 仍倾向于消耗大量的服务器资源。
总之,实体 bean 的缺点是复杂性和较长的构建周期,从而使设计和开发包含它们的系统变得更困难。在生产中,实体 bean 因霸占资源和对大实体的并发请求响应极慢而声名狼籍。 会话 bean 和 JDBC 无状态会话 bean 的受欢迎程度不象实体 bean 那样大起大落(请参阅 侧栏)。事实上,在普及和功能方面,无状态会话 bean 自 1999 年(当年发行了 EJB 规范)开始就一直保持稳定和可靠。它们产生性能极佳的结果和有效的资源合用,并且是 EJB 系列的一个重要工作程序组件。无状态的会话 bean 的稳定性和可预知性使它们成为管理持久企业数据的优秀候选者。 无状态会话 bean 常常与 JDBC 相结合来创建可靠的持久数据管理解决方案。在下面两节中,我们将衡量该解决方案的优缺点,但我们将不探究这两种技术本身的细节。如果您需要学习有关无状态会话 bean 或 JDBC 的更多内容,请参阅 参考资料。 J2EE探险者: 持久数据管理,第1部分(3)时间:2011-01-31 IBM Kyle Gabhart它是如何工作的 因为会话 bean 没有一种固有的数据访问机制,所以它们必须使用资源管理器连接工厂。 资源管理器是 J2EE 容器的一个组件,它管理特定类型资源的整个生命周期,包括连接合用、事务支持以及使实际连接变成可能的任何必需的网络协议。 连接工厂是用于创建至资源管理器的连接的对象。EJB 规范定义了 JDBC、JMS、JavaMail 和 JCA 资源的资源管理器。 在基于会话 bean 和 JDBC 的持久性体系结构中,会话 bean 将所有访问命令都委托给 JDBC 层。在接收调用时,会话 bean 使用 JDBC 来获得实现 javax.sql.DataSource 接口的对象。然后,返回的对象充当 java.sql.Connection 对象(由 JDBC API 定义)的资源管理器工厂,这些 java.sql.Connection 对象实现与数据库管理系统的连接。一旦获得了 Connection 对象,其余的持久性代码和业务逻辑(查询、更新、存储过程调用、结果集浏览和事务提交/回滚等等)就是纯 JDBC。 会话 bean/JDBC 的优点 会话 bean 和 JDBC 成为处理企业数据持久性的极佳组合。该组合最受认可的优点如下: 设计简单。从体系结构设计观点来看,通过会话 bean 来直接处理数据管理比使用实体 bean 简单得多。 细粒度的控制。因为会话 bean 是通用的工作程序组件,所以它们允许开发人员完全控制整个持久性过程,包括高速缓存、持久性、并发性、同步及其它。相反,CMP 实体 bean 不允许开发人员控制持久性机制,而 BMP 实体 bean 仅使开发人员能够定义应发生什么,而不能定义应在何时或什么样的情况下发生。 成熟。JDBC 存在了七年左右!而实体 bean 出现至今只有三年多的时间。JDBC 的可靠性和最佳实践对于 J2EE 持久性机制的开发来说是一笔非常宝贵的资产。 速度。因为开发人员完全控制在会话 bean 中使用的数据访问机制,所以可以针对某些任务优化数据访问和持久性逻辑。由于直接和有目的的操作,这可以产生极快的响应时间。 总之,会话 bean 和 JDBC 的组合能使开发人员对数据管理语义有细粒度的控制权,这一组合利用健壮且成熟的数据管理技术,支持功能优化,并将它全部封装成一个相对简单的组件体系结构中。 会话 bean/JDBC 的缺点 到目前为止都在谈论会话 bean 和 JDBC 组合的优点,但它也有一些缺点。缺点如下: 实现复杂。虽然这种系统的体系结构设计相当简单,但实际的会话 bean 实现常常十分复杂。如果应用程序的数据需求相当复杂,那么可能就无法实现管理数据库连接、确保数据完整性以及正确处理事务语义这些关键任务。开发人员常常需要实现某种类型的高速缓存同时确保最优性能。构造这种高速缓存机制使该系统的开发和维护进一步复杂化。 非固有的事务性。实体 bean 本质上 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |