Just stumbled upon this in our custom config that upto Tomcat 9 server.loader and shared.loader are still loaded by Bootstrap class, but those are not documented in the aforementioned documenation file. To avoid confusion for the user both class loaders should be documented or mentioned that they are obsolete.
@Michael Osipov On catalina.properties the documentation should be sufficient for users to understand. @Mark Thomas Would you agree?
(In reply to M. Manna from comment #1) > @Michael Osipov > > On catalina.properties the documentation should be sufficient for users to > understand. I don't agree because I would expect a tree-like figure to understand the hierarchy in the docs. I cannot deduce this from pure text. I do not consider this as enough. I had to read the source code -- yet did not fully understand it -- which should not be necessary.
See documentation of Tomcat 5.5 http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html Nobody really needs those class loaders. Use cases when they might be useful are rather limited.
(In reply to Konstantin Kolinko from comment #3) > See documentation of Tomcat 5.5 > http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html > > Nobody really needs those class loaders. Use cases when they might be useful > are rather limited. That is why it is so confusing why they are still in catalina.properties.
The use cases are limited but arguably still valid. I think adding an advanced configuration (or similar) section to the end of the class loader page that replicates the info in the 5.5.x docs is the way to go.
Fixed in: - trunk for 9.0.11 onwards - 8.5.x for 8.5.33 onwards - 7.0.x for 7.0.91 onwards
(In reply to Mark Thomas from comment #6) > Fixed in: > - trunk for 9.0.11 onwards > - 8.5.x for 8.5.33 onwards > - 7.0.x for 7.0.91 onwards That's perfect. Thanks!
One minor detail that may be added: IIRC, Web applications that are configured with <Context privileged="true"> do not use the "Shared" classloader but use the "Server" one.