Patrick Luby wrote: > All, > > I have tested out some code in o.a.c.startup.Bootstrap.main() that finds > and loads the JDK tools (e.g. javac), loads the JSSE jars in > "jsse.home", turns on the Java security manager, determines and > catalina.home dynamically. These steps are currently done by the > catalina.[sh|bat] scripts. > > My goal is to simplify the various Tomcat scripts to the point where all > they do is invoke a class. In other words, I would like to move all of > the construction of all sorts of optional system properties, etc. from > the scripts into Tomcat's main() method. Originally, I had proposed > using the commons-launcher to do this. However, commons-launcher is adds > another layer on top of the existing o.a.c.startup.Bootstrap class and > forks another JVM. This works, but is a bit heavyweight. > > I am willing to move the script code into main(). However, there is one > problem: there are currently 2 sets of startup code. Current Bootstrap > and BootstrapService both do a lot of the same steps to start Tomcat. > Before I make any changes to Bootstrap, I would like to propose that we > separate out the common methods in Bootstrap and BootstrapService (e.g. > creating the classloaders, invoking Catalina.start(), etc.). > > My hope would be that that Bootstrap.main() could be simplified to do > the following: > > - Set up the shutdown port > - Invoke BootstrapService.start() > - Invoke BootstrapService.stop() when the shutdown port receives a > shutdown request > > I would need Remy's and Pier's help to separate out the BootstrapService > methods so that they can compile without commons-daemons. I can them > move Bootstrap to use these methods and move the script code into these > methods so that both Bootstrap and BootstrapService share these features. > > Is anyone interested in pursuing this? If so, let me know. If not (I > know everyone is busy), then I can leave things the way they are and > repropose this sometime in the future.
No, I'd rather do something according to the pre-proposal put forward by Costin that would be a refactoring of the whole startup and configuration code, rather than an evolution of the current code. I don't have much interest in trying to improve that code, as I think it's good enough (ie, it gets the job done). Remy -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>