myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Leonardo Uribe (Resolved) (JIRA)" <...@myfaces.apache.org>
Subject [jira] [Resolved] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time
Date Mon, 27 Feb 2012 03:51:50 GMT

     [ https://issues.apache.org/jira/browse/MYFACES-3481?page=com.atlassian.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
    
> [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler
...) 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čí
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.13, 2.1.7
>
>
> myfaces in Production stage:
> <f:validateBean>
>             <h:outputLabel>myfaces</h:outputLabel>
> </f:validateBean>
> (or book.xhtml in myfaces-jpa test app)
> In every request/response, this invocation appears:
> MetaRulesetImpl.<init>(Tag, Class<?>) line: 118	
> ComponentTagHandlerDelegate.createMetaRuleset(Class) line: 459	
> HtmlComponentHandler(DelegatingMetaTagHandler).createMetaRuleset(Class) line: 102	
> HtmlComponentHandler.createMetaRuleset(Class) line: 42	
> HtmlComponentHandler(MetaTagHandler).setAttributes(FaceletContext, Object) line: 63	
> HtmlComponentHandler(DelegatingMetaTagHandler).setAttributes(FaceletContext, Object)
line: 93	
> ComponentTagHandlerDelegate.apply(FaceletContext, UIComponent) line: 235	
> HtmlComponentHandler(DelegatingMetaTagHandler).apply(FaceletContext, UIComponent) line:
53	
> ValidatorTagHandlerDelegate.apply(FaceletContext, UIComponent) line: 152	
> ValidatorHandler(DelegatingMetaTagHandler).apply(FaceletContext, UIComponent) line: 53

> 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 and slow down
response times to  the same facelet:
> FactoryFinder._getFactory(String) line: 259	
> FactoryFinder.getFactory(String) line: 206	
> ConvertNumberHandler(DelegatingMetaTagHandler).<init>(TagConfig) line: 42	
> ConvertNumberHandler(FaceletsAttachedObjectHandler).<init>(TagConfig) line: 42

> ConvertNumberHandler(ConverterHandler).<init>(ConverterConfig) line: 44	
> ConvertNumberHandler.<init>(ConverterConfig) line: 57	
> NativeConstructorAccessorImpl.newInstance0(Constructor, Object[]) line: not available
[native method]	
> NativeConstructorAccessorImpl.newInstance(Object[]) line: 39	
> DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27	
> Constructor<T>.newInstance(Object...) line: 513	
> AbstractTagLibrary$UserConverterHandlerFactory.createHandler(TagConfig) line: 593	
> CoreLibrary(AbstractTagLibrary).createTagHandler(String, String, TagConfig) line: 98

> CompositeTagLibrary.createTagHandler(String, String, TagConfig) line: 93	
> TagUnit.createFaceletHandler() line: 56	
> TextUnit.createFaceletHandler() line: 104	
> TagUnit(CompilationUnit).getNextFaceletHandler() line: 82	
> TagUnit.getNextHandler() line: 61	
> AbstractTagLibrary$ComponentConfigWrapper.getNextHandler() line: 431	
> HtmlComponentHandler(TagHandler).<init>(TagConfig) line: 39	
> HtmlComponentHandler(MetaTagHandler).<init>(TagConfig) line: 35	
> HtmlComponentHandler(DelegatingMetaTagHandler).<init>(TagConfig) line: 40	
> HtmlComponentHandler(ComponentHandler).<init>(ComponentConfig) line: 37	
> HtmlComponentHandler.<init>(ComponentConfig) line: 37	
> GeneratedConstructorAccessor17.newInstance(Object[]) line: not available	
> DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27	
> Constructor<T>.newInstance(Object...) line: 513	
> AbstractTagLibrary$UserComponentHandlerFactory.createHandler(TagConfig) line: 519	
> HtmlLibrary(AbstractTagLibrary).createTagHandler(String, String, TagConfig) line: 98

> CompositeTagLibrary.createTagHandler(String, String, TagConfig) line: 93	
> TagUnit.createFaceletHandler() line: 56	
> TextUnit.createFaceletHandler() line: 104	
> TagUnit(CompilationUnit).getNextFaceletHandler() line: 82	

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message