Hi Mark, The proposal is to move the locationFor to a Supplier<String> instead of eagerly loading the URL (means the maps passed to the resolver override the read part to handle it) - or a fully lazy map impl works too. Idea is to avoid to be able to hit locationFor() until it is used for the related xsd. Prefetching = preresolution if you prefer. Overall the goal is to resolve only when used. Most of the xsd are always useless so no real reason to have them ready and consume time and memory for nothing + log warning if irrelevant for the app (some filter out the xsd from jars cause it saves ~1M and does not change at all the runtime for them).
Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <https://rmannibucau.metawerx.net/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book <https://www.packtpub.com/application-development/java-ee-8-high-performance> Le lun. 4 janv. 2021 à 09:25, Mark Thomas <ma...@apache.org> a écrit : > On 03/01/2021 16:06, Romain Manni-Bucau wrote: > > <snip/> > > > So thought it was a Tomcat 10 issue but seems it is a TomEE 9 one (which > > wrongly repackaged servlet-api jar). > > Indeed. > > > So overall Tomcat 10 is ok, just to follow up on one still relevant > > question: is it worth doing all these lookups lazily (in a concurrent > hash > > map or so)? > > Sorry, I don't understand the question or your reference the the > Digester "pre-fetching" schemas at start-up in your original post. > > The digester is configured with a custom EntityResolver2 that maps all > known Java EE and Jakarta EE schemas to the local copies of those schema > that ship with Tomcat. No schema is loaded until the digester finds a > reference to it at which point the XML parser loads it via the standard > EntityResolver2 mechanism. > > There is no pre-fetching or pre-loading of schemas. > > Mark > > > > > > Romain Manni-Bucau > > @rmannibucau <https://twitter.com/rmannibucau> | Blog > > <https://rmannibucau.metawerx.net/> | Old Blog > > <http://rmannibucau.wordpress.com> | Github < > https://github.com/rmannibucau> | > > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book > > < > https://www.packtpub.com/application-development/java-ee-8-high-performance > > > > > > > > Le dim. 3 janv. 2021 à 16:44, Mark Thomas <ma...@apache.org> a écrit : > > > >> On 03/01/2021 10:35, Romain Manni-Bucau wrote: > >>> Hi all > >>> > >>> Digester prefetches most ee schemas but ee 9 bundle does miss most of > >> them > >>> leading to a lot of warnings at startup. > >>> Should log level be reduced or fetching be done lazily? > >> > >> Sorry, I am unable to understand the problem you are describing. What > >> are the steps to recreate it from a clean Tomcat 10 install? > >> > >> Mark > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > >> For additional commands, e-mail: dev-h...@tomcat.apache.org > >> > >> > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >