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
> > >
> > 
> > 
> >       
> > 
> 
> 
> 


Reply via email to