我需要测试WLST脚本,该脚本检查weblogic部署中某些托管实例的卡住线程。不幸的是,当我需要测试时,我无法解决我的问题。我怎么能故意创建一个卡住的线程来测试我的脚本的检测?我的想法目前是睡眠线程超过我对Weblogic设置的卡住线程限制,但这也比网页的超时时间长。所以我的请求应该在线程卡住之前超时。 Apache commons executor是另一个想法......有没有人有一个优雅的解决方案来重现这个丑陋的问题?
答案 0 :(得分:1)
首先,您永远不应该在Java EE环境中创建线程,这是规范禁止的。如果您的应用正在执行此操作,那么您将始终遇到问题。
无论如何,“卡住线程”有点含糊不清。你可以进入无限循环:
while(true){
try{
Thread.sleep(1000);
} catch (Exception e){
break;
}
}
或者您可以将其锁定在显示器上:
while (true){
new Object().wait();
}
答案 1 :(得分:0)
如果你想要一个卡住的线程,你可以简单地暂停它
synchronized(this){
wait();
}