• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

WebLogic Server中CMP实体bean的性能调优[4]

发布: 2010-3-10 10:48 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网

  WebLogic Server中CMP实体bean的性能调优[4]   软件测试

  只读并发

  最后一个并发策略是read-only并发。如果数据库中的某些表包含很少或从未被更改过的数据,那么就很有必要将CMP bean声明为只读。服务器仍然为每个事务激活一个新的bean实例,所以请求是并行处理的;它不会每次都调用ejbLoad(),但是根据read-timeout-seconds参数的值周期性地调用。这为您的应用程序带来了显著的性能提升,因为SQL选择只进行一次(第一次访问实体bean时),然后就被缓存起来,在后面的事务中重用。

  WebLogic Server 8.1 SP2之前版本中的一个特殊功能是,即使bean被部署为只读,开发人员仍然可以对该bean的实例进行create和remove操作。从8.1 SP2开始,这个功能在默认情况下已被禁用,但是如果您需要,可以通过在weblogic-cmp.jsr.xml中将allow-readonly-create-and-remove元素设置为true来打开它。

  也有一种明确禁用只读实体bean的方法。该禁用操作强制在下一次事务开始时从数据库中刷新bean实例,即使读取时限还没过去。您可以将其看作冲洗实例缓存。可以使特定bean的一个特定实例,任何实例子集,或者给定bean的所有实例无效。要想调用invalidate()方法,您可能需要将bean的home或local home分别转换为CachingHome或CachingLocalHome。下面的代码说明了如何实现这一点:

  Object o = context.lookup("MyBeanCMP");

  // cast to CachinHome for remote interface or CachingLocalHome

  // for local

  CachingHome cachingHome = (CachingHome)o;

  // invalidate particular instance by passing primary key value

  cachingHome.invalidate(pk);

  // invalidate any subset of bean instances by passing collections

  // of primary keys

  Collection pks = Array.asList(new Object[]{pk1, pk2, ...., pkN});

  cachingHome.invalidate(pks);

  // or invalidate all instances currently cached

  cachingHome.invalidateAll();

  当表中的数据准静态时(比如,如果它按照批处理过程每天更改一次)进行显式的无效操作很有用。这种情况下,您可以将相应的bean部署为只读,并且设置一个较大的读取超时值,然后,当批处理过程结束时,为这些实体bean调用invalidateAll()。

  您可以通过在weblogic-ejb-jar.xml部署描述符中entity-cache一节中设置concurrency-strategy元素,为每个CMP bean指定一种并发策略。如果没有指定并发策略,WebLogic Server默认使用数据库并发。

  性能改善策略

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: bean Bean cmp CMP server Server SERVER WebLogic Weblogic 实体

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网