Thorntail 没有优雅地退出
Posted
技术标签:
【中文标题】Thorntail 没有优雅地退出【英文标题】:Thorntail not exiting gracefully 【发布时间】:2019-04-14 23:16:13 【问题描述】:我正在使用这些命令中的任何一个使用 Maven 运行 Thorntail 2.2.1.Final 微服务
mvn thorntail:start
mvn thorntail:run
它运行良好,但是当我点击Ctrl-C
时,它并没有退出应用程序,即控制台返回,但应用程序在后台运行。我试图阻止它
mvn thorntail:stop
但这不起作用。我必须去杀死这个过程。我使用的是 Windows 10。
【问题讨论】:
thorntail:start
和 thorntail:stop
目标旨在作为 Maven 生命周期的一部分一起使用,通常用于集成测试。也就是说,thorntail:start
故意让进程在后台运行,thorntail:stop
应该停止它。对于交互使用,应使用mvn thorntail:run
。它一直在前台等待,Ctrl+C 应该停止它后面的应用程序。如果这些都不起作用,那就是一个错误。我建议在issues.jboss.org/browse/THORN 中提交一个错误,并且最好还包括一个jstack
输出的过程。
感谢您对停止和启动的解释,我在文档中并不清楚。
如果这就是您所需要的,我是否应该将评论复制到实际答案中,以便您可以将问题标记为已回答?
@Ladicek 是的,听起来不错
刚刚做到了,谢谢。
【参考方案1】:
thorntail:start
和 thorntail:stop
目标旨在作为 Maven 生命周期的一部分一起使用,通常用于集成测试。也就是说,thorntail:start
故意让进程在后台运行,thorntail:stop
应该停止它。
对于交互使用,应使用mvn thorntail:run
。它一直在前台等待,Ctrl+C 应该停止它后面的应用程序。
如果这些都不起作用,那就是一个错误。我建议在https://issues.jboss.org/browse/THORN 中提交一个错误,并且最好还包括一个jstack
的输出。
【讨论】:
我在 Windows 7 上运行 Thorntail 2.3.0.Final 并且 Ctrl+C 不足以退出 Thorntail。似乎只有 .bat 文件完成(根据要求的确认来判断)。 Java 进程继续运行。 Windows 10 上的 Thorntail 2.4.0.Final 对我来说也是同样的情况。你有没有为此开过票? 不知道在 Unix 上,但在 Windows 上 Thorntail 的行为很糟糕 在 Linux Thorntail uberjar 上无法通过 Maven 停止:thorntail:stop 在 CLI 中不可用thorntail:stop
不打算在 CLI 中使用,也绝对不应该阻止任意 Thorntail uberjars。它仅适用于 Maven,在 post-integration-test
阶段,以及 thorntail:start
在 pre-integration-test
阶段。以上是关于Thorntail 没有优雅地退出的主要内容,如果未能解决你的问题,请参考以下文章