创建一个卡住的线程(Weblogic)(J2SE)(1.5)

时间:2012-02-27 19:35:54

标签: java multithreading weblogic

我需要测试WLST脚本,该脚本检查weblogic部署中某些托管实例的卡住线程。不幸的是,当我需要测试时,我无法解决我的问题。我怎么能故意创建一个卡住的线程来测试我的脚本的检测?我的想法目前是睡眠线程超过我对Weblogic设置的卡住线程限制,但这也比网页的超时时间长。所以我的请求应该在线程卡住之前超时。 Apache commons executor是另一个想法......有没有人有一个优雅的解决方案来重现这个丑陋的问题?

2 个答案:

答案 0 :(得分:1)

首先,您永远不应该在Java EE环境中创建线程,这是规范禁止的。如果您的应用正在执行此操作,那么您将始终遇到问题。

无论如何,“卡住线程”有点含糊不清。你可以进入无限循环:

while(true){
 try{
  Thread.sleep(1000);
 } catch (Exception e){
  break;
 }
}

或者您可以将其锁定在显示器上:

while (true){
 new Object().wait();
}

答案 1 :(得分:0)

如果你想要一个卡住的线程,你可以简单地暂停它

synchronized(this){
   wait();
}