有时由于种族或僵局,我的Maven surefire测试被挂起。
发生这种情况时,我必须找到正在使用的从属服务器,然后我必须登录该从属服务器,将sudo登录到jenkins帐户并执行jstack或kill -3
我正在寻找一个简单的解决方案,例如当有人按下詹金斯上的中止按钮时,执行jstack / kill -3。
有人可以建议我如何使它自动化或更好的处理方法吗?
最佳答案
maven email group中对此进行了详细讨论。最后,我接受了以下建议,并通过@Rule
在所有测试类中添加了超时
嗨,您可以创建一个像这样的简单侦听器:
https://github.com/apache/bookkeeper/blob/master/bookkeeper-common/src/test/java/org/apache/bookkeeper/common/testing/util/TimedOutTestsListener.java
检查pom.xml文件中有关如何启用它的信息:
https://github.com/apache/bookkeeper/blob/2f996dcf0159f945f7ec97ce7402e5d293009444/bookkeeper-server/pom.xml#L212
希望能有所帮助
恩里科