On 10/03/2016 22:16, Christopher Schultz wrote: > Mark, > > On 3/10/16 4:43 PM, Mark Thomas wrote: >> On 10/03/2016 21:16, jimi.hulleg...@svensktnaringsliv.se wrote: >>> On Thursday, March 10, 2016 11:20 AM, ma...@apache.org wrote: >>>> >>>>> 3. Why is the problem not limited to the first request for a >>>>> jsp page? >>>> >>>> Because EL imports may be dynamic so the EL has to be evaluated >>>> on execution. >>> >>> I'm not really sure I follow you now. Can you explain what you >>> mean with dynamic imports in this regard? I can't see any >>> mentioning of it in the specs >>> (http://download.oracle.com/otn-pub/jcp/el-3_0-fr-eval-spec/EL3.0.FR. > pdf). > >>> >> There is nothing stopping a JSP author obtaining a reference to >> the ImportHandler and conditionally adding classes to import. The >> configuration of the ImportHandler could change on every call to >> the page. > > What about marking the ImportHandler as "dirty" and flushing a cache > of prior lookups? (Or are we talking about spec-defined classes only, > here?)
We are talking about spec defined classes here. Also, ELContext and ImportHandler are not cached across requests and a class level cache doesn't work because each page can have different imports. I looked at caching when this issue first arose and we already cache everything we can. Fixing the performance issue required a different approach based on making the affected Resolver more aware of the context in which it was being used so it could skip the ImportHandler in the affected cases. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org