如何列出在JAVA中不同节点上运行的不同weblogic托管服务器上运行的所有线程
如何列出在JAVA中不同节点上运行的不同weblogic托管服务器上运行的所有线程 weblogic托管服务器是否共享线程 下面是我试图找到并关闭线程的代码如何列出在JAVA中不同节点上运行的不同weblogic托管服务器上运行的所有线程,java,multithreading,weblogic,Java,Multithreading,Weblogic,如何列出在JAVA中不同节点上运行的不同weblogic托管服务器上运行的所有线程 weblogic托管服务器是否共享线程 下面是我试图找到并关闭线程的代码 ExecutorService executor = Executors.newFixedThreadPool(1); boolean isAlive = false; Thread oldThread = null; for (Thread t : Thread.getAllStackTraces().keySet()) { if (t.
ExecutorService executor = Executors.newFixedThreadPool(1);
boolean isAlive = false;
Thread oldThread = null;
for (Thread t : Thread.getAllStackTraces().keySet()) {
if (t.getName().equalsIgnoreCase("CompleteSyncThread")) {
System.out.println("Thread is running "+t.getName());
isAlive = true;
oldThread = t;
break;
}
}
if(isAlive) {
System.out.println("Killing old Thread ---> "+oldThread.getName());
try {
oldThread.stop();
} catch(Exception e) {
e.printStackTrace();
}
} else {
System.out.println("Starting new Thread ---> ");
Thread thread = new Thread() {
public void run() {
Thread.currentThread().setName("CompleteSyncThread");
// My Code
}
}};
executor.submit(thread);
}
它在我的本地WL上绝对工作得很好。
我希望这能在PROD环境下工作,在单个WL管理服务器下有6个托管服务器。
如何做到这一点?每个托管服务器都是不同的JVM,因此它们不共享线程……在JEE环境中创建/停止自己的线程并不是一个好主意。