myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Kočí (Created) (JIRA) <...@myfaces.apache.org>
Subject [jira] [Created] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time
Date Sun, 26 Feb 2012 16:52:53 GMT
[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: Bug
            Reporter: Martin Kočí


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