Hi,

Watchdog's ShutdownWaitTime is the real culprit, which is *hardcoded* in com.caucho.boot.WatchdogConfig (line 86).

As it is set to 60 seconds, it terminates its child resin process even if <shutdown-wait-max> (child of <server>) is more than 60s . (while loop at line 304 of com.caucho.boot.WatchdogProcess.closeInstance() gets terminated, which causes premature server process termination).

Unless Watchdog's ShutdownWaitTime is configurable there is no use of <shutdown-wait-max> (which is being used by com.caucho.server.resin.Resin only)

Regards
Vivek Saini


vivekid wrote:
Hi,

Using Resin 3.1.9

In ServletContextListener if I do something like...

void contextDestroyed(ServletContextEvent event)
{
    While(!isWorkCompleted)
    {
    	...
    	System.out.println("before sleep...");
    	Thread.sleep(1000);
    	System.out.println("after sleep...");
    	...
    }
}
  

It works fine. But if we make it sleep for 100 seconds like...


void contextDestroyed(ServletContextEvent event)
{
    While(!isWorkCompleted)
    {
    	...
    	System.out.println("before sleep...");
    	Thread.sleep(100000);
    	System.out.println("after sleep...");
    	...
    }
}
And stop the server, and wait until ps -ef |grep resin shows that there is no such process running.  I don't find "after sleep..." in stdout.log. There is no exception in stdout.log/stderr.log/jvm.log either.

What is going wrong? Any help?

Thanks
Vivek Saini

_______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest




_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to