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