Tomcat服务停止在windows上从32位升级到64位花费的时间太长

Tomcat服务停止在windows上从32位升级到64位花费的时间太长,tomcat,service,java-8,64-bit,tomcat8,Tomcat,Service,Java 8,64 Bit,Tomcat8,我在基于32位操作系统的tomcat上运行java web应用程序,启动和停止tomcat大约需要2-4秒。我已将JRE、Tomcat升级到64位,Tomcat服务启动快或正常,因为它正在启动,但停止了1分钟,时间很长,我很好奇停止的时间是多少,或者由于停止时间太长而被windows服务管理器终止 Web应用程序正在运行用于RESTAPI的Spring框架和用于http通信的pubnub SDK,我认为这不会对库的32位和64位环境造成影响。此外,WEB应用程序运行的后台任务很少,但没有复杂的任

我在基于32位操作系统的tomcat上运行java web应用程序,启动和停止tomcat大约需要2-4秒。我已将JRE、Tomcat升级到64位,Tomcat服务启动快或正常,因为它正在启动,但停止了1分钟,时间很长,我很好奇停止的时间是多少,或者由于停止时间太长而被windows服务管理器终止

Web应用程序正在运行用于RESTAPI的Spring框架和用于http通信的pubnub SDK,我认为这不会对库的32位和64位环境造成影响。此外,WEB应用程序运行的后台任务很少,但没有复杂的任务

tomcat停止这么慢的速度可能有什么问题?尝试使用32位jdk和64位jdk编译应用程序,但结果相同

[2018-04-04 17:49:21] [info]  ( prunsrv.c:984 ) [ 2460] Stopping service...
[2018-04-04 17:49:21] [debug] ( javajni.c:937 ) [  864] argv[0] = stop
[2018-04-04 17:49:21] [debug] ( javajni.c:990 ) [  864] Java Worker thread started org/apache/catalina/startup/Bootstrap:main
[2018-04-04 17:49:21] [debug] ( javajni.c:1013) [ 3336] Java Worker thread finished org/apache/catalina/startup/Bootstrap:main with status = 0
[2018-04-04 17:49:21] [debug] ( javajni.c:1013) [  864] Java Worker thread finished org/apache/catalina/startup/Bootstrap:main with status = 0
[2018-04-04 17:49:21] [debug] ( prunsrv.c:1577) [ 2724] Worker finished.
[2018-04-04 17:49:21] [debug] ( prunsrv.c:1586) [ 2724] Waiting for ShutdownEvent
[2018-04-04 17:49:21] [debug] ( prunsrv.c:885 ) [ 2724] reportServiceStatusE: dwCurrentState = 3, dwWin32ExitCode = 0, dwWaitHint = 60000, dwServiceSpecificExitCode = 0
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1032) [ 2460] Waiting for Java JNI stop worker to finish...
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1034) [ 2460] Java JNI stop worker finished.
[2018-04-04 17:49:22] [debug] ( prunsrv.c:885 ) [ 2460] reportServiceStatusE: dwCurrentState = 3, dwWin32ExitCode = 0, dwWaitHint = 300000, dwServiceSpecificExitCode = 0
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1141) [ 2460] Waiting for worker to die naturally...
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1152) [ 2460] Worker finished gracefully in 0 ms.
[2018-04-04 17:49:22] [info]  ( prunsrv.c:1162) [ 2460] Service stop thread completed.
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1589) [ 2724] ShutdownEvent signaled
[2018-04-04 17:49:22] [debug] ( prunsrv.c:1594) [ 2724] Waiting 1 minute for all threads to exit
[2018-04-04 17:49:22] [debug] ( prunsrv.c:885 ) [ 2724] reportServiceStatusE: dwCurrentState = 3, dwWin32ExitCode = 0, dwWaitHint = 60000, dwServiceSpecificExitCode = 0
[2018-04-04 17:50:22] [debug] ( prunsrv.c:1607) [ 2724] JVM destroyed.
[2018-04-04 17:50:22] [debug] ( prunsrv.c:885 ) [ 2724] reportServiceStatusE: dwCurrentState = 1, dwWin32ExitCode = 0, dwWaitHint = 0, dwServiceSpecificExitCode = 0
[2018-04-04 17:50:22] [info]  ( prunsrv.c:1645) [ 3836] Run service finished.
[2018-04-04 17:50:22] [info]  ( prunsrv.c:1814) [ 3836] Commons Daemon procrun finished

下面是尝试停止tomcat服务后的日志,特别有趣的是从:17:49:22到:17:50:22,如中所述,tomcat用于其服务实用程序。在安装服务时,您应该添加一个参数:--StopTimeout,然后是您允许服务的等待时间(例如,尝试2或3秒)。

现在您添加了信息,我删除了我的第一个答案,因为它不是一个好答案。对于其他人来说,是pubnub sdk在做这些废话。。。我已经降级了pubnub java sdk,一切都顺利恢复。