`
Anatorian
  • 浏览: 61433 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Seam的conversation存在性能问题,要正确使用

阅读更多
近半年的项目实践让我们注意到了seam2.0.2的conversation的性能问题。测试人员抱怨系统速度慢的时候,我们一开始以为是由于数据库查询导致的性能问题。但是经过各方面排查,我们发现一个不做数据库操作的简单页面,就算是按照前文《优化richfaces,给seam提速》操作后,同样会很慢。于是我们开始怀疑起 seam本身了。一个无意中的试验发现,我把一个以前放在conversation scope内的组件换成 page scope后,速度一下子提高了五六倍。今天通过对日志的分细,证实了我的感觉。 我写了一个timefilter,记下服务器从接到http request到生成后http response后总共花掉了多少时间。被测试的action是一个普通的java bean,共有二十多个property, 里面有一个业务方法。在不改变其它代码,只改变这个java类前的annotation, 把 scope 从conversation改成page后,测试十次,page scope时要比conversation时快5到10倍!这个测试结果确实是非常地让我惊讶!conversation scope的组件到底有什么特殊的呢? 为了能够观查到seam内部的运作情况,我把org.jboss的log设成debug级别的,现在点一下页面,一个post->redirect->get,在使用page scope时会产生 1 万多行日志,而conversation scope时居然会产生 近 3 万条日志!光从这个日志的数目就可以看到 conversation 在背后不只是做了一点点工作呀!再仔细对比两者的日志,会发现,conversation scope里会多出许多处理事件的日志:instantiating Seam component: org.jboss.seam.core.events 。这句日志在conversation时出现了 3630次,而 page scope时只出现了 1464次。conversation的日志里多出了大量如下日志: 2008-06-24 14:23:32,592 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preRemoveVariable.supplierSearchAction.supplierName 2008-06-24 14:23:32,592 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.events 2008-06-24 14:23:32,592 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.events 2008-06-24 14:23:32,592 DEBUG [...]
分享到:
评论
1 楼 SSailYang 2008-10-23  
seam 2.1.1 会重点解决性能问题

相关推荐

    Seam Carving的C++实现代码

    SeamCarving的C++实现代码,使用opencv库。包含完整项目工程及测试图像,可直接使用

    seam_carving 代码实现 seam

    seam_carving代码实现 图像缩放

    提高Seam系统性能测试点

    NULL 博文链接:https://yuexiangcheng007-sina-com.iteye.com/blog/444386

    seam in action

    7 The conversation: Seam's unit of work 8 Understanding Java persistence 9 Seam-managed transactions and persistence 10 Rapid Seam development Part 4 – Sinking the business requirements 11 Securing ...

    JBOSS_SEAM配置

    JBOSS_SEAM配置

    seam_in_action

    seam in action seam in action seam in action seam in action seam in action seam in action seam in action

    jboss-seam2.1

    Seam 是一种业级 企 Java 的应规用程序框架。它的灵感源自下列原 : 只有一种“工具” Seam为 应 业务业业 义 种统 组 你的 用程序中所有的 定 了一 一的 件模型。 Seam组件可能是 态义 关关 态 有状 的,包含与几...

    seam介绍

    seam介绍

    seam级联菜单例子

    seam级联菜单例子

    JBoss Seam

    JBoss Seam JBoss Seam JBoss Seam

    seam 2中文手册

    seam下一代web开发框架

    seam资料

    seam资料seam资料seam资料seam资料seam资料seam资料seam资料seam资料

    seam_seamcarving_

    seam carving的相关代码实现

    seam 中文文档 pdf

    seam 中文文档 pdf 格式 JSF+EJB3.0快速开发框架Seam的中文版向导。。。

    jboss-seam 注解

    为一个类定义一个Seam组件。所有Seam组件都需要该注解。 @Scope @Scope(ScopeType.CONVERSATION) 定义默认的组件上下文。可以定义的值由 ScopeType 枚举:EVENT, PAGE, CONVERSATION, SESSION, BUSINESS_PROCESS, ...

    Jboss Seam中文版

    Jboss Seam中文参考手册,通过大量的实例详细介绍seam的使用

    Seam 2.1 安全模块框架

    Seam2.10安全API为你使用Seam开发的应用程序提供了大量与安全认证相关的特性,包含了以下几块: • 安全验证 - 一个可扩展的、基于JAAS的安全验证层,允许用户to authenticate against any security provider • ...

    Seam_in_Action

    Jboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in Action

    JBOSS SEAM组件中文手册

    JBOSS SEAM组件中文手册 Seam_2.0_Reference_zh_CN

Global site tag (gtag.js) - Google Analytics