最近weblogic服务器的一个线程挂起了,需要将其杀掉,不然可能导致整个weblogic服务器瘫痪。没办法,只能通过远程调试的方法来处理了。这里使用的JDI(Java Debug Interface)来实现的。
在被调试的JVM上添加如下启动参数
-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
具体的参数的配置可参照:《Connection and Invocation Details》
package com.wxq.test;
import java.util.List;
import java.util.Map;
import com.sun.jdi.*;
import com.sun.jdi.connect.AttachingConnector;
import com.sun.jdi.connect.Connector;
import com.sun.jdi.connect.Transport;
import com.sun.jdi.connect.Connector.Argument;
public class TestJVM {
private static final String DT_SOCKET = "dt_socket";
private static final String DT_SHMEN = "dt_shmen";
private static final String HOST = "hostname";
p