【问题标题】:Catch external jar stop event for Spring-boot application with Intellij Idea使用 Intellij Idea 捕获 Spring-boot 应用程序的外部 jar 停止事件
【发布时间】:2018-11-10 04:20:18
【问题描述】:

为了在生产环境中启动我的 Spring Boot 应用程序,我的公司有一个执行“java -jar”的系统,我试图在我的 Intellij 想法中模拟它,并且 jar 正确启动,我也可以使用 proyect 源进行调试。

在运行和调试模式下,当我单击停止按钮时,jar 突然停止并显示以下消息:

Disconnected from the target VM, address: '127.0.0.1:58575', transport: 'socket'

Process finished with exit code -1

而且我无法捕获关闭事件来关闭我的数据库连接。我尝试过其他 stackoverflow 解决方案,例如 PortalServiceLifeCycle@PreDestroysetRegisterShutdownHook(false) in SpringApplication run in main

Jar 由 Maven 创建,具有干净和打包的目标,我们没有 xml spring 配置,只有注释。

我需要什么来捕获关闭服务以关闭连接?

编辑:添加我的 Intellij 按钮:

谢谢。

【问题讨论】:

    标签: java spring-boot intellij-idea


    【解决方案1】:

    check this answer

    此功能是not available 处于调试模式。

    此功能也不适用于 JAR 运行配置,但可用于 Application 运行配置。

    您可以在外部控制台中使用远程调试和 Ctrl+C 来调试关闭挂钩中的代码,直到实现IDEA-171093

    【讨论】:

    • 对于这些答案,我的 2018 版本中没有此按钮。
    • 没错,这个按钮只有在加载IDE代理时在运行模式下才可用。它在调试模式和某些运行配置类型中不可用。
    • 嗨,我已在原始帖子中添加了 Intellij 按钮。什么是退出按钮?
    • 此功能不适用于 JAR Run 配置,但可用于 Application Run 配置。
    猜你喜欢
    • 1970-01-01
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2018-03-22
    • 2020-12-03
    • 2016-12-28
    • 2017-10-21
    相关资源
    最近更新 更多