当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

提高EJB性能的本领[Java编程]

赞助商链接



  本文“提高EJB性能的本领[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

项目举行到这里,开始呈现新的问题.EJB调用是耗时、吃力的.怎么提高EJB的性能?我们为办理这一问题,开始边写边谈论.等到完成了,我才发现,我们所利用的本领总结一下,竟有十条.把提高EJB性能的这些本领总结一下,为今后的项目做参考.

1.用一个Session Bean封装多个Entity Bean,将本来的多个Entity Bean的Remote调用和Local调用封装在一个Session Bean中.所以成立一个ServerFacade,它为多个对象供应统一获得EJB Home和获得对象的接口.ServerFacade为程序要用到的全部EJB的home handle供应缓存,提高拜候JNDI Name的时间,到达提高拜候效率的目的.今后查找JNDI Name的办法都应写在接口里,调用时直接从接口调用.

2.在EJB的Remote接口中利用粗粒度的办法,不举荐利用细粒度办法.

3.假如EJB的Remote接口获得成功,应不再利用Remote接口,而是将Remote接口构造成一个普通的JAVA对象,通过调用普通的JAVA对象的办法来到达削减对网络的拜候.

4.假如你布置EJB客户端和EJB在相同的JVM上,建立利用EJB2.0标准的Local接口替换Remote接口.

5.用"transient"关键字声明不必要的数据变量,替换从前的"public"、"private"等,避免不必要的数据变量占用网络资源.示例:

public class DemoCMP implements EntityBean {
transient EntityContext entCtx;
transient InitialContext initCtx;
public String id;
public String description;

}

6.在ejb-jar.xml布置文件中,对Session Bean中非事件的办法,将trans-attribute属性赋为"NotSupported"或"Never"

<ejb-jar>

<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>abookesessionBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>

7. 设置事件的超不时间,在JBoss中,要改正${jboss.home}/server/${jboss.configuration}/conf/jboss-service.xml ,以下所示:

<server>

<mbean code="org.jboss.tm.TransactionManagerService"
name="jboss:service=TransactionManager">
<attribute name="TransactionTimeout">300</attribute>
</mbean>

</server>

8.当事件锁定数据库的行记录时,事件应超越大概的最小的时间.


  以上是“提高EJB性能的本领[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 提高EJB性能的本领
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .