Return-Path: X-Original-To: apmail-myfaces-dev-archive@www.apache.org Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 459039D58 for ; Mon, 27 Feb 2012 03:52:21 +0000 (UTC) Received: (qmail 4490 invoked by uid 500); 27 Feb 2012 03:52:20 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 3890 invoked by uid 500); 27 Feb 2012 03:52:14 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 3829 invoked by uid 99); 27 Feb 2012 03:52:11 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Feb 2012 03:52:11 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_FRT_BELOW2,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Feb 2012 03:52:10 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 4A20533C319 for ; Mon, 27 Feb 2012 03:51:50 +0000 (UTC) Date: Mon, 27 Feb 2012 03:51:50 +0000 (UTC) From: "Leonardo Uribe (Resolved) (JIRA)" To: dev@myfaces.apache.org Message-ID: <2113884016.22022.1330314710318.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <656191378.21148.1330275173238.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Resolved] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MYFACES-3481?page=3Dcom.atlass= ian.jira.plugin.system.issuetabpanels:all-tabpanel ] Leonardo Uribe resolved MYFACES-3481. ------------------------------------- Resolution: Fixed Fix Version/s: 2.1.7 2.0.13 Assignee: Leonardo Uribe =20 > [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,Deleg= atingMetaTagHandler ...) for children every time > -------------------------------------------------------------------------= ------------------------------------------------ > > Key: MYFACES-3481 > URL: https://issues.apache.org/jira/browse/MYFACES-3481 > Project: MyFaces Core > Issue Type: Improvement > Reporter: Martin Ko=C4=8D=C3=AD > Assignee: Leonardo Uribe > Fix For: 2.0.13, 2.1.7 > > > myfaces in Production stage: > > myfaces > > (or book.xhtml in myfaces-jpa test app) > In every request/response, this invocation appears: > MetaRulesetImpl.(Tag, Class) line: 118=09 > ComponentTagHandlerDelegate.createMetaRuleset(Class) line: 459=09 > HtmlComponentHandler(DelegatingMetaTagHandler).createMetaRuleset(Class) l= ine: 102=09 > HtmlComponentHandler.createMetaRuleset(Class) line: 42=09 > HtmlComponentHandler(MetaTagHandler).setAttributes(FaceletContext, Object= ) line: 63=09 > HtmlComponentHandler(DelegatingMetaTagHandler).setAttributes(FaceletConte= xt, Object) line: 93=09 > ComponentTagHandlerDelegate.apply(FaceletContext, UIComponent) line: 235= =09 > HtmlComponentHandler(DelegatingMetaTagHandler).apply(FaceletContext, UICo= mponent) line: 53=09 > ValidatorTagHandlerDelegate.apply(FaceletContext, UIComponent) line: 152= =09 > ValidatorHandler(DelegatingMetaTagHandler).apply(FaceletContext, UICompon= ent) line: 53=09 > this applies for all children of f:validateBean > Without f:validateBean Metatag rules are created only once in production = stage during initial request to facelet. > (Not sure if it is a bug - maybe something special needs to be done for f= :beanValidator ) > It also leads to stack bellow - but _getFactory method is synchronized an= d slow down response times to the same facelet: > FactoryFinder._getFactory(String) line: 259=09 > FactoryFinder.getFactory(String) line: 206=09 > ConvertNumberHandler(DelegatingMetaTagHandler).(TagConfig) line: 42= =09 > ConvertNumberHandler(FaceletsAttachedObjectHandler).(TagConfig) lin= e: 42=09 > ConvertNumberHandler(ConverterHandler).(ConverterConfig) line: 44= =09 > ConvertNumberHandler.(ConverterConfig) line: 57=09 > NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: n= ot available [native method]=09 > NativeConstructorAccessorImpl.newInstance(Object[]) line: 39=09 > DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27=09 > Constructor.newInstance(Object...) line: 513=09 > AbstractTagLibrary$UserConverterHandlerFactory.createHandler(TagConfig) l= ine: 593=09 > CoreLibrary(AbstractTagLibrary).createTagHandler(String, String, TagConfi= g) line: 98=09 > CompositeTagLibrary.createTagHandler(String, String, TagConfig) line: 93= =09 > TagUnit.createFaceletHandler() line: 56=09 > TextUnit.createFaceletHandler() line: 104=09 > TagUnit(CompilationUnit).getNextFaceletHandler() line: 82=09 > TagUnit.getNextHandler() line: 61=09 > AbstractTagLibrary$ComponentConfigWrapper.getNextHandler() line: 431=09 > HtmlComponentHandler(TagHandler).(TagConfig) line: 39=09 > HtmlComponentHandler(MetaTagHandler).(TagConfig) line: 35=09 > HtmlComponentHandler(DelegatingMetaTagHandler).(TagConfig) line: 40= =09 > HtmlComponentHandler(ComponentHandler).(ComponentConfig) line: 37= =09 > HtmlComponentHandler.(ComponentConfig) line: 37=09 > GeneratedConstructorAccessor17.newInstance(Object[]) line: not available= =09 > DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27=09 > Constructor.newInstance(Object...) line: 513=09 > AbstractTagLibrary$UserComponentHandlerFactory.createHandler(TagConfig) l= ine: 519=09 > HtmlLibrary(AbstractTagLibrary).createTagHandler(String, String, TagConfi= g) line: 98=09 > CompositeTagLibrary.createTagHandler(String, String, TagConfig) line: 93= =09 > TagUnit.createFaceletHandler() line: 56=09 > TextUnit.createFaceletHandler() line: 104=09 > TagUnit(CompilationUnit).getNextFaceletHandler() line: 82=09 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrato= rs: https://issues.apache.org/jira/secure/ContactAdministrators!default.jsp= a For more information on JIRA, see: http://www.atlassian.com/software/jira