在生产环境中启动我的Spring Boot应用程序我的公司有一个执行“java -jar”的系统,我试图在我的Intellij想法中模拟它,jar正确启动,我也可以使用proyect源进行调试。 / p>
在运行和调试模式下,当我点击停止按钮时,jar突然停止并显示消息:
Disconnected from the target VM, address: '127.0.0.1:58575', transport: 'socket'
Process finished with exit code -1
我无法抓住关闭事件以关闭我的数据库连接。我尝试了其他stackoverflow解决方案,例如PortalServiceLifeCycle,@PreDestroy和setRegisterShutdownHook(false) in SpringApplication run in main。
Jar由Maven创建,具有清洁和包目标,我们没有xml spring配置,只有注释。
我需要捕获关闭服务来关闭连接吗?
编辑:添加我的Intellij按钮:
谢谢。
答案 0 :(得分:0)
此功能在调试模式下为check this answer。
此功能也不适用于 JAR 运行配置,但可用于应用程序运行配置。
您可以在外部控制台中使用远程调试和Ctrl + C来调试关闭挂钩中的代码,直到not available被实现。