]> source.dussan.org Git - aspectj.git/commitdiff
458871: dynamically attach agent
authorAndy Clement <aclement@pivotal.io>
Tue, 8 Sep 2015 20:33:06 +0000 (13:33 -0700)
committerAndy Clement <aclement@pivotal.io>
Tue, 8 Sep 2015 20:33:06 +0000 (13:33 -0700)
Patch from Alexander Kriegisch

loadtime5/java5-src/org/aspectj/weaver/loadtime/Agent.java
loadtime5/loadtime5.mf.txt

index 920d04e04b7a9ac48d498c227b204d937745ca5a..eeca8aeef904eb3cc2feeb94d7a5fd250cab0d5f 100644 (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;
     }
index 57529ee049f3816e034ba5ae76fe99bfb1255693..729cae693ec0c67802f3c4499a17c06fc5532242 100644 (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