Paul Hammant wrote:
Stephen,
While looking though the CatalinaSevakImpl class I noticed the following:
1. does not implement the Startable interface and given that the Initializable implementation does not appear to be starting up a seperate thread, Merlin assumes that its done whateve its doing and closes the container. I could easily add a starup thread that basically sleeps until an explicit shutdown request is received.
Perhaps Sevak should implement startable and pass on the start() stop() instructions to the Catalina impl. I am not sure what you're talking about re the seperate thread.
Basically the initiaze method in CatalinaSevakImpl was invoking start on the embedded server - I have changed this so that CatalinaSevakImpl implementats Startable and the embedded start and stop and invoked inside the respective Startable start/stop. The issue concerning the thread is that starting the emabeddor does not startup a thread -so as far as Merlin is concerned - its finished and can be disposed of. Apparently this is something to do with the setup of a default context which isn't in-place - basically a bunch of code is needed to take defintions of hosts, context, etc. and apply these programatically. With that in place things would become usable and I could start playing with mechanisms to manage components based servlets.
2. the classpath is somewhat horrific - several entries in the classpath could be moved to extensions (e.g. most of the commons classes) - do you see any problems with that ?
Yes it is. I think it is also tied in to the K/HC/CAPI discusssions we have had on an off for the last few months. Perhaps we are doing too muck with <pheonix>/lib. Unless Phoenix is shipped with all commons jars every time, there could be problems with the deplyment of a jar containing Sevak.
Extensions candidates include the following (assuming the manifest for sevak is updated to declare the extension dependecies).
ant commons-beanutils commons-collections commons-daemon commons-digester commons-logging comons-logging-api commons-modeler commons-pool mail struts tomcat-coyote tomcat-http11
Aside from the extensions question - my guess is that there are several jars that are not required for a minimal sevak execution.
3. I think the class should be implementing dispose() but I don't know how this is propergated onto Tomcat
dispose() maps to nullifaction of the references to Catalina? it basic facilitates garbage collection?
Is that what you wanted to hear?
Yep - good practice in cleaning up after one self. Its not a given thing that shutdown of the server consitues shutdown of the container.
Cheers, Steve.
- Paul
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
Stephen J. McConnell
OSM SARL digital products for a global economy mailto:[EMAIL PROTECTED] http://www.osm.net
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>