tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zemian <>
Subject [GitHub] tomcat issue #72: Fix
Date Tue, 08 Aug 2017 02:57:27 GMT
Github user zemian commented on the issue:
    Hi Mark,
    > Tomcat provides (by default) a static content cache in the resources layer so I do
wonder if there is much benefit in caching the content in the JSP engine as well.
    Are you referring to `org.apache.catalina.webresources.Cache`? To me this enhancement
is at jasper level, so I thought it make more sense to keep it self contained. Also, is okay
to bring catalina classes into jasper package? But any rate, if you do decide we go this route,
please confirm and I will look into it more.
    > The proposed cache appears to be unbounded which is likely to be a problem for larger
installations. Also, there is no need to cache the JSP content once it has been processed.
    I thought about this, but my current proposed cache is already bounded by `ParserController`
instance, and it is already per request only. You still think we should limit cache further?
If we do this, then we add much more complexity to caching though. Please confirm if we need
    > My original thinking was more along the lines of some refactoring to allow re-use
of a single buffered input stream with some limit on the buffer size that could mean the stream
did need to be re-opened for large JSPs.
    I am not clear on this suggestion yet. Do tell me more if you strongly feel that's more
the right direction. My current proposed solution is to cache the jsp file content as char
array, then re-feed into different Stream/Reader that is used by jasper parser. The previous
code will perform two reads per single jsp file processing: once for `ParserController#parseDirectives`
and another for `JspDocumentParser#parse`. The proposed code will reduce these to one file
read only. 

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message