我已经注意到在SIGTERM(通过杀死)给我的应用程序和运行执行器/关机之间的行为差异,但是我很难理解它们为何不同。
我找到了我的问题。在我的@PreDestroy方法中,我没有清理某些线程,这些线程在Spring关闭时仍处于活动状态,这是因为它们不受Spring管理。
所以不同之处在于,Spring的Actuator关闭将不会清理Spring不能管理的线程,而SIGTERM会清理。