myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard <gerhard.petra...@gmail.com>
Subject Re: EL method invocation performance
Date Sat, 23 Oct 2010 11:08:53 GMT
hi martin,

it would be nice to get more details about the juel issues.

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.koci@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.korherr@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 <xhhsld@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.koci@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
> > > >
> > >
> > >
> > >
> > >
> >
> >
> >
>
>
>

Mime
View raw message