How about trying the el api published by Geronimo ? it caches the
ExpressionFactory to avoid the search action by default.

2010/8/25 Martin Koci <[email protected]>

> Hi,
>
> this problem is not in myfaces but affects performance especially in
> render response phase:
>
> EL 2.2 introduces method invocation but if you try use it like
> rendered="#{bean.getRendered(param)}" there is an unpleasant surprise:
> both implementations of BeanELResolver (Glassfish, Tomcat) use this
> construction during method invocation:
>
> ExpressionFactory exprFactory = ExpressionFactory.newInstance();
>
> That newInstance() always involves FactoryFinder mechanism, callstack
> then looks like :
>
> org.apache.catalina.loader.WebappClassLoader.findResourceInternal
>  org.apache.catalina.loader.WebappClassLoader.findResource
>  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
>   javax.el.FactoryFinder.find(String, String, Properties)
>    javax.el.ExpressionFactory.newInstance(Properties)
>     javax.el.ExpressionFactory.newInstance()
>      javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
>
>
> Always tries to locale factory implementation, that
> means /META-INF/services reading! This is not problem in myfaces, but
> users don't distinguish between JSF and EL well.
>
> Any ideas?
>
> Regards,
>
> Martin Kočí
>
>
> https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
> http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
>
>
>
>


-- 
Ivan

Reply via email to