You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Martin Kočí (Created JIRA)" <de...@myfaces.apache.org> on 2012/02/26 17:52:53 UTC

[jira] [Created] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time

[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

       

[jira] [Resolved] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time

Posted by "Leonardo Uribe (Resolved) (JIRA)" <de...@myfaces.apache.org>.
     [ 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

       

[jira] [Commented] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time

Posted by "Leonardo Uribe (Commented) (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217564#comment-13217564 ] 

Leonardo Uribe commented on MYFACES-3481:
-----------------------------------------

I see. This is different to the previous one fixed, and is caused by this call.

_delegate.getValidatorConfig().getNextHandler().apply(ctx, parent);

Tracking down this problem, it came from MYFACES-2512. In that time, we tried to implement the "disabled" logic into ValidatorTagHandlerDelegate, but after some tests cycles, we found that the right thing to do is move that logic into ComponentTagHandlerDelegate. Later, to solve validationGroups problem, another strategy was implemented, so we commented the old code, but this line was let without change. The solution is just use:

_delegate.applyNextHandler(ctx, parent);

Instead. The problem described on MYFACES-2512 will not happen, because all that code was changed in MYFACES-3259 with a better alternative. 
                
> [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

       

[jira] [Commented] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time

Posted by "Leonardo Uribe (Commented) (JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217017#comment-13217017 ] 

Leonardo Uribe commented on MYFACES-3481:
-----------------------------------------

It is not a but, instead it is an improvement. In theory, base tag handler classes should cache TagHandlerDelegate instance, but it seems we forgot to do the same for javax.faces.view.facelets.ValidatorHandler, ConverterHandler and BehaviorHandler. Since f:validateBean has wrap mode, the effect is visible. The fix is very simple. Thanks for notice it.
                
> [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čí
>             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

       

[jira] [Commented] (MYFACES-3481) [perf] f:validateBean re-creates facelets handlers (MetaRulesetImpl,DelegatingMetaTagHandler ...) for children every time

Posted by "Martin Kočí (Commented JIRA)" <de...@myfaces.apache.org>.
    [ https://issues.apache.org/jira/browse/MYFACES-3481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13217487#comment-13217487 ] 

Martin Kočí commented on MYFACES-3481:
--------------------------------------

I see same results as reported with current trunk. The change in javax.faces.view.facelets.ValidatorHandler.getTagHandlerDelegate() is deployed and return the cached instance. Reproducible with:

<f:validateBean>
            <h:outputLabel>myfaces</h:outputLabel>
</f:validateBean> 


FactoryFinder._getFactory(String) line: 267	
FactoryFinder.getFactory(String) line: 206	
HtmlComponentHandler(DelegatingMetaTagHandler).<init>(TagConfig) line: 42	
HtmlComponentHandler(ComponentHandler).<init>(ComponentConfig) line: 37	
HtmlComponentHandler.<init>(ComponentConfig) line: 37	
GeneratedConstructorAccessor18.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	
TagUnit.getNextHandler() line: 61	
AbstractTagLibrary$ValidatorConfigWrapper.getNextHandler() line: 317	
ValidatorTagHandlerDelegate.apply(FaceletContext, UIComponent) line: 152	
ValidatorHandler(DelegatingMetaTagHandler).apply(FaceletContext, UIComponent) line: 53	


                
> [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