Processing @ResourceDependency on each component instance takes too long
------------------------------------------------------------------------
Key: MYFACES-2854
URL: https://issues.apache.org/jira/browse/MYFACES-2854
Project: MyFaces Core
Issue Type: Improvement
Components: General
Affects Versions: 2.0.2-SNAPSHOT
Environment: myfaces current trunk
Reporter: Martin Kočí
Consider custom renderer with @ResourceDependencies (and many
@ResourceDependency here). If a view has 500 UIComponent with this custom
renderer, ApplicationImpl._handleAnnotations process the same set of
ResourceDependecies again and again.
With my test scenario, VDL.buildView takes therefore 750ms. After small
modification in ApplicationImpl _handleAnnotations it takes only 70 ms.
The modification can be like:
Class<?> inspectedClass = inspected.getClass();
// Process annotation only if this is the first creation of
component(renderer,validator, converter) of particular type in this
request/response
if (! context.getAttributes().containsKey(inspectedClass.getName())) {
_handleListenerForAnnotations(context, inspected, inspectedClass,
component, isProduction);
_handleResourceDependencyAnnotations(context, inspectedClass,
component, isProduction);
// Remeber here that this class and it's dependencies are in
viewRoot.componentResources
context.getAttributes().put(inspectedClass.getName(), Boolean.TRUE);
}
;
But I'm not sure what specification says about this processing.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.