|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.aspectwerkz.hook.ProcessStarter
ProcessStarter uses JPDA JDI api to start a VM with a runtime modified java.lang.ClassLoader, or transparently use a Xbootclasspath style (java 1.3 detected or forced)
For java 1.3, it launch the target VM using a modified java.lang.ClassLoader by generating it and putting it in the bootstrap classpath of the target VM. The java 1.3 version should only be run for experimentation since it breaks the Java 2 Runtime Environment binary code license by overriding a class of rt.jar
For java 1.4, it hotswaps java.lang.ClassLoader with a runtime patched version, wich is compatible with the Java 2 Runtime Environment binary code license. For JVM not supporting the class hotswapping, the same mechanism as for java 1.3 is used.
java [target jvm option] [target classpath] targetMainClass [targetMainClass args]
java [jvm option] [classpath] org.codehaus.aspectwerkz.hook.ProcessStarter [target jvm option] [target classpath] targetMainClass [targetMainClass args]
-Daspectwerkz.classloader.clpreprocessor=...
in [jvm option]. Specify the FQN of your implementation of hook.ClassLoaderPreProcessor.
See ClassLoaderPreProcessor
If not given, the default AspectWerkz layer 1 BCEL implementation hook.impl.* is used, which is equivalent to
-Daspectwerkz.classloader.clpreprocessor=org.codehaus.aspectwerkz.hook.impl.ClassLoaderPreProcessorImpl
-Daspectwerkz.classloader.clbootclasspath=...
. Specify the directory where you
want the patched java.lang.ClassLoader to be stored. Default is "./_boot".
The directory is created if needed (with the subdirectories corresponding to package names).org.codehaus.aspectwerkz.hook.impl.ClassLoaderPreProcessorImpl
, java.lang.ClassLoader is modified to call a class preprocessor at each class load
(except for class loaded by the bootstrap classloader).-Daspectwerkz.classloader.preprocessor=...
in [target jvm option]. Specify the FQN of your implementation of org.codehaus.aspectwerkz.hook.ClassPreProcessor interface.
Constructor Summary | |
ProcessStarter()
|
Method Summary | |
static void |
main(java.lang.String[] args)
|
java.lang.String[] |
parseJavaCommandLine(java.lang.String[] args)
Analyse the args[] as a java command line |
static java.lang.String |
removeEmbracingQuotes(java.lang.String s)
Remove first and last " or ' if any |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ProcessStarter()
Method Detail |
public static void main(java.lang.String[] args)
public static java.lang.String removeEmbracingQuotes(java.lang.String s)
s
- string to handle
public java.lang.String[] parseJavaCommandLine(java.lang.String[] args)
args
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |