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 <[email protected]>

> 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 <[email protected]>
>
> 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