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]>



Reply via email to