Hi, some news about EL method invocations:
1) Geronimo EL API implementation has this problem too: https://issues.apache.org/jira/browse/GERONIMO-5657 2) UEL bug is still open: https://uel.dev.java.net/issues/show_bug.cgi?id=19 3) JUEL doesn't not work for my test cases, for example it doesn't find some public methods so I cannot say if JUEL has this problem now. My today's recommedation (which can change tommorow) is: if you want EL method invocations without file asscess within (without /META-INF/services reading): A) apply GERONIMO-5657 patch to http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/ and build this EL-API B) use impl part from uel.dev.java.net as EL-impl or tomcat's EL impl Please note that uel.dev.java.net API suffers from classic leaking classloader problem too - it uses Class instance as key in static Map : see MYFACES-2942 for details. Maybe we should put a warning about these two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ? Regards, Kocicak Martin Koci píše v St 25. 08. 2010 v 20:52 +0200: > Hi, > > I'll try it but not today :) Optimization is my priority task for next > few months and certainly I'll compare all four (or more?) EL > implementations. > > Mark Struberg píše v St 25. 08. 2010 v 17:52 +0000: > > Martin, could you please give juel a quick try? Would be interested if if > > also > > suffers from this problem. > > > > You can find a slightly tweaked (bugfixed) version of it on my github page > > > > http://github.com/struberg/juel > > > > The original is on juel.sourceforge.net > > > > LieGrue, > > strub > > > > > > > > > >From: Jakob Korherr <jakob.korh...@gmail.com> > > >To: MyFaces Development <dev@myfaces.apache.org> > > >Sent: Wed, August 25, 2010 5:10:09 PM > > >Subject: Re: EL method invocation performance > > > > > >Hi, > > > > > >Does this really have to happen at every method invocation or is this an > > >implementation problem? > > > > > >If it is an implementation problem and can be circumvent in any way, I > > >would > > >contact the Glassfish and Tomcat developers about this ;) > > > > > >Regards, > > >Jakob > > > > > > > > >2010/8/25 Ivan <xhh...@gmail.com> > > > > > >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 <martin.k...@aura.cz> > > >> > > >> > > >>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 > > >> > > > > > > > > >-- > > >Jakob Korherr > > > > > >blog: http://www.jakobk.com > > >twitter: http://twitter.com/jakobkorherr > > >work: http://www.irian.at > > > > > > > > > > > > > >