Hi, > hi martin, > > > it would be nice to get more details about the juel issues.
Christian fixed them promptly in JUEL's svn: http://sourceforge.net/tracker/?func=detail&aid=3095122&group_id=165179&atid=834616 http://sourceforge.net/tracker/?func=detail&aid=3031783&group_id=165179&atid=834616 Back to original topic: JUEL caches the ExpressionFactory instance and thus does not have discussed performance problem. > > > regards, > gerhard > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > > > 2010/10/19 Martin Koci <martin.kocicak.k...@gmail.com> > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > >