jakartaee / expression-language

Jakarta Expression Language
https://eclipse.org/ee4j/el
Other
68 stars 49 forks source link

ExpressionFactory.newInstance invoked on every EL method invocation #19

Closed glassfishrobot closed 12 years ago

glassfishrobot commented 14 years ago

From Martin Ko�í:

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.

Environment

Operating System: All Platform: All

Affected Versions

[current]

glassfishrobot commented 6 years ago
glassfishrobot commented 14 years ago

@glassfishrobot Commented Reported by kchung

glassfishrobot commented 12 years ago

@glassfishrobot Commented wrschneider99 said: Is this the same as the one I opened here?

http://java.net/jira/browse/JAVASERVERFACES-2223

glassfishrobot commented 12 years ago

@glassfishrobot Commented kchung said: Fixed in release 2.2.2.

http://search.maven.org/#browse|-1545957111

glassfishrobot commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA UEL-19

glassfishrobot commented 12 years ago

@glassfishrobot Commented Marked as fixed on Thursday, October 13th 2011, 10:35:47 am