Class JRockitAgent

  extended by org.aspectj.weaver.loadtime.JRockitAgent

public class JRockitAgent
extends java.lang.Object

JRockit (tested with 7SP4 and 8.1) preprocessor Adapter based on JMAPI

JRockit has a low level API for hooking ClassPreProcessor, allowing the use of online weaving at full speed. Moreover, JRockit does not allow java.lang.ClassLoader overriding thru -Xbootclasspath/p option.

The ClassPreProcessor implementation and all third party jars CAN reside in the standard classpath.

The command line will look like: "%JAVA_COMMAND%" -Xmanagement:class=org.aspectj.weaver.loadtime.JRockitAgent -cp ... Note: there can be some NoClassDefFoundError due to classpath limitation - as described in

In order to use the BEA JRockit management server (for further connection of management console or runtime analyzer), the regular option -Xmanagement will not have any effect prior to JRockit 8.1 SP2. Instead, use -Dmanagement.

Alexandre Vasseur

Constructor Summary
          The JMAPI ClassPreProcessor must be self registrating
Method Summary
 byte[] preProcess(java.lang.ClassLoader caller, java.lang.String name, byte[] bytecode)
          Weave a class
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public JRockitAgent()
The JMAPI ClassPreProcessor must be self registrating

Method Detail


public byte[] preProcess(java.lang.ClassLoader caller,
                         java.lang.String name,
                         byte[] bytecode)
Weave a class

caller - classloader
name - of the class to weave
bytecode - original
bytecode weaved