Hi, Can we find a way how to pre-initialize all .xhtml (Facelet instances) during startup? I think that can bring many improvements, for example:
-- Minimize sychronized: ---- populate all cached Value|MethodExpression on TagAttributeImpl (MYFACES-3160) - than we can remove volatile keyword ---- populate cache in JUEL/EL: JUEL has own cache for expressions based on ConcurrentHashMap - we can use plain HashMap without lock -- Syntax-check (precompilation) - is syntactically ok? Currently the only way how to check all views in app is perform a request to each one. -- Statistics about views: ---- usage of c: (build-time) tags in view ---- analyze structure, for example for common mistakes (like f:viewParam in template) Then we can try VLD.buildView with InitFacesContext and provide some useful statistic data: ---- provide hints for user (for example analyze structure of h:dataTable and if it contains no EditableValueHolder, provide readOnly hint ) .... WDYT? Regards, Kočičák
