Description
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