Issue Details (XML | Word | Printable)

Key: UEL-19
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: kchung
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
uel

ExpressionFactory.newInstance invoked on every EL method invocation

Created: 25/Aug/10 05:44 PM   Updated: 13/Oct/11 05:35 PM   Resolved: 13/Oct/11 05:35 PM
Component/s: www
Affects Version/s: current
Fix Version/s: milestone 1

Time Tracking:
Not Specified

Environment:

Operating System: All
Platform: All


Issuezilla Id: 19
Tags:
Participants: kchung and wrschneider99


 Description  « Hide

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.



wrschneider99 added a comment - 12/Oct/11 07:36 PM

Is this the same as the one I opened here?

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


kchung added a comment - 13/Oct/11 05:35 PM

Fixed in release 2.2.2.

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