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

Huge +1 - please do so!

Regards,
Jakob

2010/10/20 Ivan <xhh...@gmail.com>:
> Hi, Martin, i committed your patch to geronimo-el-2.2 1.1-SNAPSHOT, and will
> publish a SNAPSHOT to the repository later, seems I got a slow network acess
> speed ...
> Thanks for pointing it out :-)
>
> 2010/10/20 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
>> > > >
>> > >
>> > >
>> > >
>> > >
>> >
>> >
>> >
>>
>>
>
>
>
> --
> Ivan
>



-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at

Reply via email to