public class Agent
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
Agent() |
Modifier and Type | Method and Description |
---|---|
static void |
agentmain(java.lang.String args,
java.lang.instrument.Instrumentation inst)
Dynamic loading the agent to virtual machine.
|
static Agent |
getInstance()
Get Agent singleton instance.
|
void |
handleHijack(java.lang.String className,
java.lang.String methodName,
HijackBehavior hijackBehavior)
Handler for new hijacks.
|
void |
removeHijack(java.lang.String className,
java.lang.String methodName,
HijackBehavior hijackBehavior)
Hijack stopper.
|
public static Agent getInstance()
public static void agentmain(java.lang.String args, java.lang.instrument.Instrumentation inst) throws java.lang.Exception
Instrumentation.retransformClasses(Class[])
}, because some classes are already transformed
before our running, ie.: {Socket
}.java.lang.Exception
public void handleHijack(java.lang.String className, java.lang.String methodName, HijackBehavior hijackBehavior) throws AgentException
className
- which should be instrumented.methodName
- which should be instrumented.hijackBehavior
- specific implementation which will be called during instrumentation.AgentException
- if there will be a problem with instrumentation.public void removeHijack(java.lang.String className, java.lang.String methodName, HijackBehavior hijackBehavior)
className
- of registered hijack.methodName
- of registered hijack.hijackBehavior
- of registered hijack.