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
