org.aspectj.weaver.loadtime
Class JRockitAgent

java.lang.Object
  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 http://edocs.bea.com/wls/docs81/adminguide/winservice.html

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.

Author:
Alexandre Vasseur

Constructor Summary
JRockitAgent()
          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

JRockitAgent

public JRockitAgent()
The JMAPI ClassPreProcessor must be self registrating

Method Detail

preProcess

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

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