转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> JAVA开发 >> 正文
提升EJB性能的12招         ★★★★

提升EJB性能的12招

作者:闵涛 文章来源:闵涛的学习笔记 点击数:587 更新时间:2009/4/22 23:27:19

  Enterprise JavaBeans(EJB)是一种被广泛采用的基于J2EE平台上的服务端组件体系架构,它可以用来快速开发灵活的、可重用的、可移植到各个中间件平台上的以任务为关键的企业级应用。同时,由于采用开放的协作制定规范,EJB架构能保护IT投资,减少对供应商的依赖性,避免局限在某一个供应商的技术实现上。其中,性能是EJB应用程序成败的关键。

  为了开发高性能的企业级应用,我们必须意识到良好的设计和编程规范是性能提升的基础。理想状态是在开发前我们必须先行掌握优秀的编程规范。而到了开发后期,再将重点转移到整个应用程序性能的调整:包括Web服务器, 应用服务器业以及数据库。策略是找出脆弱的一环,然后进行改进。为达到最佳性能,本文将讨论一些通用的技巧,帮助我们设计和实现一个高性能的基于EJB的企业级应用。

  EJB的开发

  我们前八个EJB性能方面的技巧是关于在应用系统设计和开发阶段的。因为在服务器环境下,多数需要优化的代码,更多地是在布署阶段之前。以便在问题不可收拾前把问题找出并解决。

  1. 设计粗粒度(coarse-grained) 的EJB 远程(remote) 接口

  由于每个通过远程或本地(home)接口调用EJB的方法都属于远程调用,对于大多数细粒度(fine-grained)的对象交互来说调用中间件的开销大得简直让人无法承受。为了避免这类问题, 每个EJB应代表一个独立的业务对象,有独立的特性和生命周期。具有依赖性的对象决不能用EJB表示。相反,它应该作为一个EJB内部的Java类来实现。例如,一张购物单可用一个EJB来实现,而每张购物单上的子项就不应该用EJB,可以采用helper类的形式实现。

  2. 设计粗粒度的EJB远程接口方法

  正如上面所提到的,每个客户端对EJB的调用都是远程调用,另外还要进行一些检查操作,比如存取控制,事务处理以及激活/休眠等。 因此,EJB调用比远程调用要慢上好几倍,与调用本地方法的时间相差就更大了。减少方法的调用次数可以提高性能。设计粗线优化的方法中的一个技巧,就是在单个方法调用过程中尽量增加数据来回传输的数量,把多个方法合并以减少方法的个数。比如,代码段一显示的是一个设计欠佳的远程接口,因为客户端必须多次调用来取得Person的数据。相比之下代码段二改进了性能表现,因为它在一次方法调用中使用了粗粒度的方法,方法的个数变少了,从而减少了调用次数(尽管这些方法传输的数据更多)。

  3. 减少JNDI 查找次数

  由于各种应用服务器的命名和目录服务在具体实现方法上的差异,JNDI 的查找过程可能会比较费时。 (注:JNDI对EJB资源,比如数据源、bean引用,乃至环境项(environment entry)的查找可能花费巨大,且避免重复查找并非易事。)某些应用服务器在不同的机器上采用单独的进程来实现目录信息。在这种情况下缓存home handle是一个提升性能的好办法。(见代码段3). facade是一个对象,它为多个对象提供一个的统一接口。一个服务端的facade能简化处理,使得客户端不需了解每个服务器端的EJB(见图一)。在这种方式下所有客户端对服务器的调用都经由对象ServerFacade。如代码段3所示,ServerFacade是一个会话 EJB,缓存了所有需要的EJB的home handle.而客户也可以在客户端用singleton对象来缓存ServerFacade的home handle。


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台