我注意到 SIGTERM-ing 我的应用程序(通过 kill(和运行执行器/关闭之间的行为存在差异,但我很难理解它们为什么不同。
我发现了我的问题。在我的@PreDestroy方法中,我没有清理某些线程,这些线程由于 Spring 未由 Spring 管理而随着 Spring 关闭而保持活动状态。
所以不同之处在于,Spring 的执行器关闭不会清理不受 Spring 管理的线程,而 SIGTERM 会。
我注意到 SIGTERM-ing 我的应用程序(通过 kill(和运行执行器/关闭之间的行为存在差异,但我很难理解它们为什么不同。
我发现了我的问题。在我的@PreDestroy方法中,我没有清理某些线程,这些线程由于 Spring 未由 Spring 管理而随着 Spring 关闭而保持活动状态。
所以不同之处在于,Spring 的执行器关闭不会清理不受 Spring 管理的线程,而 SIGTERM 会。
javascript python java c# php android html jquery c++ css ios sql mysql arrays asp.net json python-3.x ruby-on-rails .net sql-server django objective-c excel regex ruby linux ajax iphone xml vba spring asp.net-mvc database wordpress string postgresql wpf windows xcode bash git oracle list vb.net multithreading eclipse algorithm macos powershell visual-studio image forms numpy scala function api selenium