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

Reply via email to