我有一个弹簧启动应用程序,可以部署在Unix机箱上。
我需要在app关闭之前做一些清理任务。我在主应用程序类中添加了@PostConstruct
和@PreDestroy
带注释的方法。
当我发出./app-name.jar
启动命令时,我可以看到@PostConstruct
方法被调用,但是当我执行./app-name.jar stop
命令时,@PreDestroy
方法不会被调用。
我可以看到WARN无法注册Log4j
关闭钩子,因为JVM正在关闭。在日志文件上使用SimpleLogger
。
有没有办法在关闭之前获取应用程序的挂钩?