Hello, At http://jakarta.apache.org/tomcat/jakarta-tomcat/src/doc/mod_jk-howto.html I found the following joke: > Q. Whenever I restart Tomcat, Apache locks up! > > A. The Ajp13 protocol keeps an open socket between Tomcat and Apache. > When you restart Tomcat, you need to restart Apache as well. What use is there of replication, if you have to restart the load balancer when one of the workers goes away?? BTW, I tried restarting Tomcat without restarting Apache and luckily it worked fine. So what is this scary Q/A all about? However, this is not the primary issue I would like to query about. What concerns me more is how to restart the servlet engine in a way that is transparent to users. If I am injecting new code, I would like the user to perhaps see a short delay between requests, but definitely not an "Internal server error" message (I assume having persistent sessions, so these are not a problem). I guess this task of delaying a request until a servlet engine becomes ready -- instead of spitting out an error -- should be up to mod_jk. Does anyone know whether it can be turned on somehow or whether it would be a big deal to implement something like that myself? I admit to have little experience with C network programming... With some more support from mod_jk, application upgrades could be done even more transparently. If I have 2 Tomcat instances, I could set up mod_jk to do load balancing and then 1) stop one instance -- mod_jk transparently fails over to the second one 2) upgrade this now stopped instance 3) restart it with the updated code, mod_jk starts feeding it with requests again 4) stop the second instance -- mod_jk now fails over to the first, already updated one 5) upgrade then restart the second instance. A user should not notice any delay -- there is always one instance running. Is this setup possible now? In particular, will mod_jk transparently fail over and will it notice the instance once it comes back after upgrade? Thanks in advance - JPL
