Re: [PROPOSAL] Tomcat 4 class loaders
The above changes remove one class loading layer from a web app, allows Common classes to use property files and resources, and cleans up the directories where jar files and classes are located. The Catalina core would see the shared libraires, which is a very bad idea IMO. We'll get into the same kind of class conflicts and sealing violations we now face because Jasper uses JAXP 1.1. I really can't see any real benefits (but I can see a lot of problems) in removing the shared class loader. What we can do is add a lib/classes/ repository to the shared classloader. Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: [PROPOSAL] Tomcat 4 class loaders
Remy Maucherat wrote: The above changes remove one class loading layer from a web app, allows Common classes to use property files and resources, and cleans up the directories where jar files and classes are located. The Catalina core would see the shared libraires, which is a very bad idea IMO. We'll get into the same kind of class conflicts and sealing violations we now face because Jasper uses JAXP 1.1. I really can't see any real benefits (but I can see a lot of problems) in removing the shared class loader. Thats right! Ok, I retract my proposal for changing the class loaders. What we can do is add a lib/classes/ repository to the shared classloader. I still think it would be a good idea to change the directory structure of where the lib/classes are located to make it clearer where to install libraries/resources. System class loader uses jars located in $CATALINA_HOME/system/lib $CATALINA_HOME/system/classes Common class loader uses jars/classes/resources located in $CATALINA_HOME/common/lib $CATALINA_HOME/common/classes Shared class loader for web applications uses jars/classes/resources located in $CATALINA_HOME/lib $CATALINA_HOME/classes Catalina private jars/classes/resources located in $CATALINA_HOME/server/lib $CATALINA_HOME/server/classes The classes directories would only be added to the list of URL's for a class loader if it exists And remove servlet.jar and naming.jar from the catalina.sh start script. Regards, Glenn -- Glenn Nielsen [EMAIL PROTECTED] | /* Spelin donut madder| MOREnet System Programming | * if iz ina coment. | Missouri Research and Education Network | */ | -- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
Re: [PROPOSAL] Tomcat 4 class loaders
Remy Maucherat wrote: Thats right! Ok, I retract my proposal for changing the class loaders. What we can do is add a lib/classes/ repository to the shared classloader. I still think it would be a good idea to change the directory structure of where the lib/classes are located to make it clearer where to install libraries/resources. I agree with most of the following changes, except that I think it would create too many places where you can put libraries (and some are not useful IMO in the current situation). System class loader uses jars located in $CATALINA_HOME/system/lib $CATALINA_HOME/system/classes -0 to -1. Why have a system directory ? Right now, the system CL only contains bootstrap.jar (and also tools.jar, but it's not in one of TC subfolders), so I would just leave it in bin (it's simpler, and people will start to get confused in there are too many places where you can put your libraries). Common class loader uses jars/classes/resources located in $CATALINA_HOME/common/lib $CATALINA_HOME/common/classes +1. Shared class loader for web applications uses jars/classes/resources located in $CATALINA_HOME/lib $CATALINA_HOME/classes +1. Catalina private jars/classes/resources located in $CATALINA_HOME/server/lib $CATALINA_HOME/server/classes -0. I don't see any situation where splitting the server directory would be useful. The classes directories would only be added to the list of URL's for a class loader if it exists And remove servlet.jar and naming.jar from the catalina.sh start script. +1. Note: Craig may veto these changes because we're so late in the dev cycle. Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]