Re: Stop Tomcat8 Service Gracefully on Windows
Hi Mark -- Thank you for replying. Here is a thread dump from about 30 seconds after I request to stop the service. Can you tell which thread is preventing the JVM from exiting? Thanks again! 2014-07-01 09:09:00 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): DestroyJavaVM - Thread t@78 java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None Thread-24 - Thread t@61 java.lang.Thread.State: RUNNABLE at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method) at sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown Source) Locked ownable synchronizers: - None RMI TCP Connection(4)-192.168.0.7 - Thread t@48 java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source) at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source) at javax.management.StandardMBean.invoke(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker) RMI TCP Connection(3)-192.168.0.7 - Thread t@47 java.lang.Thread.State: TIMED_WAITING at java.lang.Object.wait(Native Method) - waiting on 18e5eaed (a com.sun.jmx.remote.internal.ArrayNotificationBuffer) at com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unknown Source) at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
Re: Stop Tomcat8 Service Gracefully on Windows
On 01/07/2014 17:13, Igal @ getRailo.org wrote: Hi Mark -- Thank you for replying. Here is a thread dump from about 30 seconds after I request to stop the service. Can you tell which thread is preventing the JVM from exiting? No, because the thread dump doesn't show whether a thread is a daemon thread or not (which is odd - I thought the standard thread dump did show that). My guess would be the timer threads. Use one of the many tools that come with the JDK (or a profiler) to look at the threads and see which non-daemon threads are still running. Mark Thanks again! 2014-07-01 09:09:00 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): DestroyJavaVM - Thread t@78 java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None Thread-24 - Thread t@61 java.lang.Thread.State: RUNNABLE at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method) at sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown Source) Locked ownable synchronizers: - None RMI TCP Connection(4)-192.168.0.7 - Thread t@48 java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source) at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source) at javax.management.StandardMBean.invoke(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker) RMI TCP Connection(3)-192.168.0.7 - Thread t@47 java.lang.Thread.State: TIMED_WAITING at java.lang.Object.wait(Native Method) - waiting on 18e5eaed (a com.sun.jmx.remote.internal.ArrayNotificationBuffer) at com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$3.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.fetchNotifications(Unknown Source) at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) at
Re: Stop Tomcat8 Service Gracefully on Windows
I generated this with VisualVM. I will try to generate in a different way, or to inspect the threads within the 60 seconds window as you suggested. Thank you, Igal On Jul 1, 2014 9:42 AM, Mark Thomas ma...@apache.org wrote: On 01/07/2014 17:13, Igal @ getRailo.org wrote: Hi Mark -- Thank you for replying. Here is a thread dump from about 30 seconds after I request to stop the service. Can you tell which thread is preventing the JVM from exiting? No, because the thread dump doesn't show whether a thread is a daemon thread or not (which is odd - I thought the standard thread dump did show that). My guess would be the timer threads. Use one of the many tools that come with the JDK (or a profiler) to look at the threads and see which non-daemon threads are still running. Mark Thanks again! 2014-07-01 09:09:00 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): DestroyJavaVM - Thread t@78 java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None Thread-24 - Thread t@61 java.lang.Thread.State: RUNNABLE at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method) at sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown Source) Locked ownable synchronizers: - None RMI TCP Connection(4)-192.168.0.7 - Thread t@48 java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source) at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source) at javax.management.StandardMBean.invoke(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker) RMI TCP Connection(3)-192.168.0.7 - Thread t@47 java.lang.Thread.State: TIMED_WAITING at java.lang.Object.wait(Native Method) - waiting on 18e5eaed (a com.sun.jmx.remote.internal.ArrayNotificationBuffer) at com.sun.jmx.remote.internal.ArrayNotificationBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ArrayNotificationBuffer$ShareBuffer.fetchNotifications(Unknown Source) at com.sun.jmx.remote.internal.ServerNotifForwarder.fetchNotifs(Unknown Source) at
Re: Stop Tomcat8 Service Gracefully on Windows
The offending thread was: ehcache.data Thank you for your help and insight, Igal On 7/1/2014 9:46 AM, Igal Sapir wrote: I generated this with VisualVM. I will try to generate in a different way, or to inspect the threads within the 60 seconds window as you suggested. Thank you, Igal On Jul 1, 2014 9:42 AM, Mark Thomas ma...@apache.org mailto:ma...@apache.org wrote: On 01/07/2014 17:13, Igal @ getRailo.org wrote: Hi Mark -- Thank you for replying. Here is a thread dump from about 30 seconds after I request to stop the service. Can you tell which thread is preventing the JVM from exiting? No, because the thread dump doesn't show whether a thread is a daemon thread or not (which is odd - I thought the standard thread dump did show that). My guess would be the timer threads. Use one of the many tools that come with the JDK (or a profiler) to look at the threads and see which non-daemon threads are still running. Mark Thanks again! 2014-07-01 09:09:00 Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.51-b03 mixed mode): DestroyJavaVM - Thread t@78 java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None Thread-24 - Thread t@61 java.lang.Thread.State: RUNNABLE at sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method) at sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(Unknown Source) Locked ownable synchronizers: - None RMI TCP Connection(4)-192.168.0.7 - Thread t@48 java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.Trampoline.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.misc.MethodUtil.invoke(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(Unknown Source) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(Unknown Source) at com.sun.jmx.mbeanserver.PerInterface.invoke(Unknown Source) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(Unknown Source) at javax.management.StandardMBean.invoke(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.access$300(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(Unknown Source) at javax.management.remote.rmi.RMIConnectionImpl.invoke(Unknown Source) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at sun.rmi.transport.Transport$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Unknown Source) at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Locked ownable synchronizers: - locked 6cb0e9eb (a java.util.concurrent.ThreadPoolExecutor$Worker) RMI TCP
Re: Stop Tomcat8 Service Gracefully on Windows
Does anyone know why Tomcat takes a full minute to stop? Is there a paid support for Tomcat? On 6/27/2014 8:29 PM, Igal @ getRailo.org wrote: And again there is a full minute between Service stop thread completed. and Run service finished., which doesn't look like a coincidence. [2014-06-27 20:24:14] [info] [ 3156] Stopping service... [2014-06-27 20:24:15] [info] [ 3156] Service stop thread completed. [2014-06-27 20:25:15] [info] [ 2520] Run service finished. [2014-06-27 20:25:15] [info] [ 2520] Commons Daemon procrun finished Can anyone shed some light on this? Igal On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote: I installed Tomcat 8.09 on Windows 2008R2 When trying to stop the service it takes a long time, and usually I get a prompt on the screen saying that there was an error. Windows Event Log did not show anything about this, but commons-daemon log shows: [2014-06-27 13:59:53] [info] [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) started [2014-06-27 13:59:53] [info] [ 5504] Running 'Tomcat8' Service... [2014-06-27 13:59:53] [info] [ 5176] Starting service... [2014-06-27 13:59:54] [info] [ 5176] Service started in 1185 ms. *[2014-06-27 14:00:08] [info] [ 3472] Stopping service... [2014-06-27 14:00:09] [info] [ 3472] Service stop thread completed. [2014-06-27 14:01:09] [info] [ 5504] Run service finished. [2014-06-27 14:01:09] [info] [ 5504] Commons Daemon procrun finished* Why does it take a full minute from Service stop thread completed. where the stop command has yet to return, until Run service finished. when it actually does stop the service? Is there any way to speed that up? TIA -- Igal Sapir Railo Core Developer http://getRailo.org/ -- Igal Sapir Railo Core Developer http://getRailo.org/ -- Igal Sapir Railo Core Developer http://getRailo.org/
Re: Stop Tomcat8 Service Gracefully on Windows
On 30/06/2014 22:40, Igal @ getRailo.org wrote: Does anyone know why Tomcat takes a full minute to stop? Tomcat doesn't. It takes a few seconds to stop. Your application might well take a full minute to stop. Try taking some thread dumps. Mark Is there a paid support for Tomcat? On 6/27/2014 8:29 PM, Igal @ getRailo.org wrote: And again there is a full minute between Service stop thread completed. and Run service finished., which doesn't look like a coincidence. [2014-06-27 20:24:14] [info] [ 3156] Stopping service... [2014-06-27 20:24:15] [info] [ 3156] Service stop thread completed. [2014-06-27 20:25:15] [info] [ 2520] Run service finished. [2014-06-27 20:25:15] [info] [ 2520] Commons Daemon procrun finished Can anyone shed some light on this? Igal On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote: I installed Tomcat 8.09 on Windows 2008R2 When trying to stop the service it takes a long time, and usually I get a prompt on the screen saying that there was an error. Windows Event Log did not show anything about this, but commons-daemon log shows: [2014-06-27 13:59:53] [info] [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) started [2014-06-27 13:59:53] [info] [ 5504] Running 'Tomcat8' Service... [2014-06-27 13:59:53] [info] [ 5176] Starting service... [2014-06-27 13:59:54] [info] [ 5176] Service started in 1185 ms. *[2014-06-27 14:00:08] [info] [ 3472] Stopping service... [2014-06-27 14:00:09] [info] [ 3472] Service stop thread completed. [2014-06-27 14:01:09] [info] [ 5504] Run service finished. [2014-06-27 14:01:09] [info] [ 5504] Commons Daemon procrun finished* Why does it take a full minute from Service stop thread completed. where the stop command has yet to return, until Run service finished. when it actually does stop the service? Is there any way to speed that up? TIA -- Igal Sapir Railo Core Developer http://getRailo.org/ -- Igal Sapir Railo Core Developer http://getRailo.org/ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Stop Tomcat8 Service Gracefully on Windows
I installed Tomcat 8.09 on Windows 2008R2 When trying to stop the service it takes a long time, and usually I get a prompt on the screen saying that there was an error. Windows Event Log did not show anything about this, but commons-daemon log shows: [2014-06-27 13:59:53] [info] [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) started [2014-06-27 13:59:53] [info] [ 5504] Running 'Tomcat8' Service... [2014-06-27 13:59:53] [info] [ 5176] Starting service... [2014-06-27 13:59:54] [info] [ 5176] Service started in 1185 ms. *[2014-06-27 14:00:08] [info] [ 3472] Stopping service... [2014-06-27 14:00:09] [info] [ 3472] Service stop thread completed. [2014-06-27 14:01:09] [info] [ 5504] Run service finished. [2014-06-27 14:01:09] [info] [ 5504] Commons Daemon procrun finished* Why does it take a full minute from Service stop thread completed. where the stop command has yet to return, until Run service finished. when it actually does stop the service? Is there any way to speed that up? TIA -- Igal Sapir Railo Core Developer http://getRailo.org/
Re: Stop Tomcat8 Service Gracefully on Windows
And again there is a full minute between Service stop thread completed. and Run service finished., which doesn't look like a coincidence. [2014-06-27 20:24:14] [info] [ 3156] Stopping service... [2014-06-27 20:24:15] [info] [ 3156] Service stop thread completed. [2014-06-27 20:25:15] [info] [ 2520] Run service finished. [2014-06-27 20:25:15] [info] [ 2520] Commons Daemon procrun finished Can anyone shed some light on this? Igal On 6/27/2014 2:08 PM, Igal @ getRailo.org wrote: I installed Tomcat 8.09 on Windows 2008R2 When trying to stop the service it takes a long time, and usually I get a prompt on the screen saying that there was an error. Windows Event Log did not show anything about this, but commons-daemon log shows: [2014-06-27 13:59:53] [info] [ 5504] Commons Daemon procrun (1.0.15.0 64-bit) started [2014-06-27 13:59:53] [info] [ 5504] Running 'Tomcat8' Service... [2014-06-27 13:59:53] [info] [ 5176] Starting service... [2014-06-27 13:59:54] [info] [ 5176] Service started in 1185 ms. *[2014-06-27 14:00:08] [info] [ 3472] Stopping service... [2014-06-27 14:00:09] [info] [ 3472] Service stop thread completed. [2014-06-27 14:01:09] [info] [ 5504] Run service finished. [2014-06-27 14:01:09] [info] [ 5504] Commons Daemon procrun finished* Why does it take a full minute from Service stop thread completed. where the stop command has yet to return, until Run service finished. when it actually does stop the service? Is there any way to speed that up? TIA -- Igal Sapir Railo Core Developer http://getRailo.org/ -- Igal Sapir Railo Core Developer http://getRailo.org/