Browse Source

458871: dynamically attach agent

Patch from Alexander Kriegisch
tags/V1_8_7
Andy Clement 8 years ago
parent
commit
83acbdaf16

+ 9
- 2
loadtime5/java5-src/org/aspectj/weaver/loadtime/Agent.java View File

@@ -18,7 +18,8 @@ import java.lang.instrument.ClassFileTransformer;
* Java 1.5 preMain agent to hook in the class pre processor
* Can be used with -javaagent:aspectjweaver.jar
*
* @author <a href="mailto:alex@gnilux.com">Alexandre Vasseur</a>
* @author Alexandre Vasseur
* @author Alexander Kriegisch
*/
public class Agent {

@@ -47,12 +48,18 @@ public class Agent {
s_instrumentation.addTransformer(s_transformer);
}

public static void agentmain(String options, Instrumentation instrumentation) {
premain(options, instrumentation);
}

/**
* Returns the Instrumentation system level instance
*/
public static Instrumentation getInstrumentation() {
if (s_instrumentation == null) {
throw new UnsupportedOperationException("Java 5 was not started with preMain -javaagent for AspectJ");
throw new UnsupportedOperationException(
"AspectJ weaving agent was neither started via '-javaagent' (preMain) " +
"nor attached via 'VirtualMachine.loadAgent' (agentMain)");
}
return s_instrumentation;
}

+ 1
- 0
loadtime5/loadtime5.mf.txt View File

@@ -7,4 +7,5 @@ Implementation-Title: org.aspectj.weaver
Implementation-Version: @build.version.short@
Implementation-Vendor: @company.name@
Premain-Class: org.aspectj.weaver.loadtime.Agent
Agent-Class: org.aspectj.weaver.loadtime.Agent
Can-Redefine-Classes: true

Loading…
Cancel
Save