我在Spring Singleton中使用ScheduledExecutorService
。它执行定期检查,该检查计划每x分钟运行一次。我通过实施ApplicationListener<ContextStartedEvent>#onApplicationEvent
方法(创建了ScheduledExecutorService
并分配任务)来懒惰(或半懒惰)初始化Singleton成员变量(执行器)。
我需要处理ExecutorService
的关闭,并想知道如何正确执行此操作。我确实知道Spring具有上下文关闭过程,并且想知道从那里的某个地方调用关闭是否合理。
如果ExecutorService
没有关闭,并且服务器正在关闭或终止,究竟会发生什么? JVM不会只是清除与此程序相关的所有内存吗?
谢谢