Java在运行时添加代理
示例
可以在运行时将代理添加到JVM。要加载代理,您将需要使用AttachAPI的。然后,您可以使用以下方法加载已编译的代理jar:VirtualMachine.attatch(Stringid)
public static void loadAgent(String agentPath) {
String vmName = ManagementFactory.getRuntimeMXBean().getName();
int index = vmName.indexOf('@');
String pid = vmName.substring(0, index);
try {
File agentFile = new File(agentPath);
VirtualMachine vm = VirtualMachine.attach(pid);
vm.loadAgent(agentFile.getAbsolutePath(), "");
VirtualMachine.attach(vm.id());
} catch (Exception e) {
throw new RuntimeException(e);
}
}这不会在已加载的代理中调用premain((StringagentArgs,Instrumentationinst),而是会调用agentmain(StringagentArgs,Instrumentationinst)。这需要在代理Manifest.mf中设置Agent-Class。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西