Programmatically attach Java agents to local HotSpot virtual machines.
Usage: java -jar attachant.jar id [options]
where options include:
load agentJarPath (options) To load specified agent jar
load-self (options) To load this jar as an agent
load-remote-management port authenticate ssl (options) To load remote-management agent
//To load an agent into a local VM
Agents.load("/path/to/agent.jar", pid, Optional.absent());
//To load this jar as an agent into a local VM
Agents.loadSelf(Agents.class, pid, Optional.absent());
//To load remote management agent
Agents.loadRemoteManagement(pid, 1234, false, false, Optional.absent());
<dependency>
<groupId>com.github.jeluard</groupId>
<artifactId>attachant</artifactId>
<version>0.9</version>
</dependency>
While Java agents are mostly needed at startup time some can be dynamically added to a running process. Here is a non-extensive list:
Released under Apache 2 license.