- java.lang.Object
-
- com.ibm.dtfj.javacore.builder.javacore.AbstractBuilderComponent
-
- com.ibm.dtfj.javacore.builder.javacore.JavaRuntimeBuilder
-
- All Implemented Interfaces:
IJavaRuntimeBuilder
public class JavaRuntimeBuilder extends AbstractBuilderComponent implements IJavaRuntimeBuilder
-
-
Constructor Summary
Constructors Constructor Description JavaRuntimeBuilder(JCImageProcess imageProcess, String id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JavaClassaddClass(JavaClassLoader jClassLoader, String name, long classID, long superClassID, String fileName)Note that even if a class was already registered with a class loader previously, it may contain incomplete data, so this case has to be considered.JavaClassLoaderaddClassLoader(String classLoaderName, long clID, long objectID)Must pass a valid class loader ID in order to generate a class loader object.JavaMonitoraddJavaMonitor(String monitorName, long monitorID, long objectID, String className, long owningThread)Required: monitor ID (throws exception if invalid)
Optional: object ID, class name, monitor name, owning threadJavaThreadaddJavaThread(ImageThread imageThread, String name, long tid, long j9thread_t, long javaObjID, long jniEnv, String state, int priority, long blockingObject, String blockingObjectClass)If successfully added a JavaThread, or updated an existing JavaThread, return the javathread, or otherwise throw an exception.voidaddVMInitArgs()Adds an (empty) JavaVMInitArgsvoidaddVMOption(String option)Adds an individual VM option to JavaVMInitArgsvoidaddVMOption(String option, long extraInfo)Adds an individual VM option to JavaVMInitArgs, with 'extra information' fieldImageProcessgetImageProcess()voidsetJavaVersion(String version)Sets the Java version string.-
Methods declared in class com.ibm.dtfj.javacore.builder.javacore.AbstractBuilderComponent
getBuilderContainer, getID
-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in interface com.ibm.dtfj.javacore.builder.IJavaRuntimeBuilder
addBlockedThread, addJavaStackFrame, addJITProperty, addMemoryCategory, addWaitOnNotifyThread, setJITEnabled, setShallowCountersForCategory, setStartTime, setStartTimeNanos
-
-
-
-
Constructor Detail
-
JavaRuntimeBuilder
public JavaRuntimeBuilder(JCImageProcess imageProcess, String id) throws JCInvalidArgumentsException
- Throws:
JCInvalidArgumentsException
-
-
Method Detail
-
addClassLoader
public JavaClassLoader addClassLoader(String classLoaderName, long clID, long objectID) throws BuilderFailureException
Must pass a valid class loader ID in order to generate a class loader object. Else exception is thrown.- Specified by:
addClassLoaderin interfaceIJavaRuntimeBuilder- Parameters:
classLoaderName- optionalclID- required, or else exception is throw and class loader is not created.objectID- optional (although generally this is the same as the clID for most javacores)- Returns:
- successfully created JavaClassLoader
- Throws:
BuilderFailureException- if class loader ID is invalid.
-
addClass
public JavaClass addClass(JavaClassLoader jClassLoader, String name, long classID, long superClassID, String fileName) throws BuilderFailureException
Note that even if a class was already registered with a class loader previously, it may contain incomplete data, so this case has to be considered.- Specified by:
addClassin interfaceIJavaRuntimeBuilder- Parameters:
jClassLoader- that loads the classname- of classclassID- valid addresssuperClassID- valid address- Returns:
- generated/modified java class.
- Throws:
BuilderFailureException
-
getImageProcess
public ImageProcess getImageProcess()
- Returns:
- imageprocess containing the runtime.
-
addJavaThread
public JavaThread addJavaThread(ImageThread imageThread, String name, long tid, long j9thread_t, long javaObjID, long jniEnv, String state, int priority, long blockingObject, String blockingObjectClass) throws BuilderFailureException
If successfully added a JavaThread, or updated an existing JavaThread, return the javathread, or otherwise throw an exception. Note that a javathread cannot be successfully added if no valid threadID is passed.
REQUIREMENT: Thread Id must be valid to properly create a Java Thread, or exception is thrown.- Specified by:
addJavaThreadin interfaceIJavaRuntimeBuilder- Parameters:
imageThread- associated with javathreadname- for now, just the string name parsed directly from the javacore.tid- = JNIENV or J9JVMThread, i.e., it equals the internal VM data structure for a java threadj9thread_t- = a thread model at a lower level than a tid, which models a native thread: not represented in DTFJ, but pass it anyway as a possible ImageThread propertyjavaObjID- The thread object seen from JavajniEnv- The JNIENV- Returns:
- a non null JavaThread that was successfully added or updated.
- Throws:
BuilderFailureException- if arguments lead to an invalid DTFJ object, particularly an invalid threadID
-
addJavaMonitor
public JavaMonitor addJavaMonitor(String monitorName, long monitorID, long objectID, String className, long owningThread) throws BuilderFailureException
Required: monitor ID (throws exception if invalid)
Optional: object ID, class name, monitor name, owning thread- Specified by:
addJavaMonitorin interfaceIJavaRuntimeBuilder- Parameters:
monitorName- of monitor- Returns:
- successfully created JavaMonitor
- Throws:
BuilderFailureException- if an invalid monitor ID is passed.
-
addVMInitArgs
public void addVMInitArgs() throws BuilderFailureExceptionAdds an (empty) JavaVMInitArgs- Specified by:
addVMInitArgsin interfaceIJavaRuntimeBuilder- Throws:
BuilderFailureException
-
addVMOption
public void addVMOption(String option) throws BuilderFailureException
Adds an individual VM option to JavaVMInitArgs- Specified by:
addVMOptionin interfaceIJavaRuntimeBuilder- Throws:
BuilderFailureException
-
addVMOption
public void addVMOption(String option, long extraInfo) throws BuilderFailureException
Adds an individual VM option to JavaVMInitArgs, with 'extra information' field- Specified by:
addVMOptionin interfaceIJavaRuntimeBuilder- Throws:
BuilderFailureException
-
setJavaVersion
public void setJavaVersion(String version)
Sets the Java version string.- Specified by:
setJavaVersionin interfaceIJavaRuntimeBuilder
-
-