Package org.jboss.byteman.agent
Class Retransformer
java.lang.Object
org.jboss.byteman.agent.Transformer
org.jboss.byteman.agent.Retransformer
- All Implemented Interfaces:
ClassFileTransformer
byte code transformer used to introduce byteman events into JBoss code
-
Field Summary
FieldsFields inherited from class org.jboss.byteman.agent.Transformer
accessEnabler, AGENT_VERSION, ALLOW_CONFIG_UPDATE, BYTEMAN_PACKAGE_PREFIX, BYTEMAN_SAMPLE_PACKAGE_PREFIX, BYTEMAN_TEST_PACKAGE_PREFIX, checkerCache, COMPILE_TO_BYTECODE, COMPILE_TO_BYTECODE_COMPATIBILITY, DEBUG, DISALLOW_DOWNCAST, DUMP_CFG, DUMP_CFG_PARTIAL, DUMP_GENERATED_CLASSES, DUMP_GENERATED_CLASSES_DIR, DUMP_GENERATED_CLASSES_INTERMEDIATE, helperManager, inst, isRedefine, JAVA_LANG_PACKAGE_PREFIX, scriptRepository, SKIP_OVERRIDE_RULES, SYSPROPS_STRICT_MODE, TRANSFORM_ALL, TRANSFORM_ALL_COMPATIBILITY, VERBOSE, VERIFY_TRANSFORMED_BYTES
-
Constructor Summary
ConstructorsConstructorDescriptionRetransformer
(Instrumentation inst, ModuleSystem moduleSystem, List<String> scriptPaths, List<String> scriptTexts, boolean isRedefine) constructor allowing this transformer to be provided with access to the JVM's instrumentation implementation -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendJarFile
(PrintWriter out, JarFile jarfile, boolean isBoot) protected void
collectAffectedNames
(List<RuleScript> ruleScripts, List<String> classList, List<String> interfaceList, List<String> superClassList, List<String> superInterfaceList) Returns jars that this retransformer was asked toadd
to the boot classloader.Returns jars that this retransformer was asked toadd
to the system classloader.void
installScript
(List<String> scriptTexts, List<String> scriptNames, PrintWriter out) void
listScripts
(PrintWriter out) void
removeScripts
(List<String> scriptTexts, PrintWriter out) Methods inherited from class org.jboss.byteman.agent.Transformer
allowConfigUpdate, computeDumpGeneratedClasses, computeDumpGeneratedClassesDir, computeDumpGeneratedClassesIntermediate, disableTriggers, disallowDowncast, dumpScript, enableTriggers, getClassChecker, getDumpGeneratedClassesDir, installBootScripts, installPolicy, isBlacklisted, isBytemanClass, isCompileToBytecode, isDebug, isDumpCFG, isDumpCFGPartial, isDumpGeneratedClasses, isDumpGeneratedClassesIntermediate, isSkipClass, isTransformable, isTriggeringEnabled, isVerbose, maybeDumpClass, maybeDumpClassIntermediate, skipOverrideRules, transform, transform, updateConfiguration
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.instrument.ClassFileTransformer
transform
-
Field Details
-
sysJars
-
bootJars
-
-
Constructor Details
-
Retransformer
public Retransformer(Instrumentation inst, ModuleSystem moduleSystem, List<String> scriptPaths, List<String> scriptTexts, boolean isRedefine) throws Exception constructor allowing this transformer to be provided with access to the JVM's instrumentation implementation- Parameters:
inst
- the instrumentation object used to interface to the JVMmoduleSystem
- the module system to use for helper and class loadingscriptPaths
- list of file paths for each input scriptscriptTexts
- the text of each input scriptisRedefine
- true if class redefinition is allowed false if not- Throws:
Exception
- if a script is in error
-
-
Method Details
-
installScript
public void installScript(List<String> scriptTexts, List<String> scriptNames, PrintWriter out) throws Exception - Throws:
Exception
-
collectAffectedNames
-
listScripts
- Throws:
Exception
-
removeScripts
- Throws:
Exception
-
appendJarFile
- Throws:
Exception
-
getLoadedBootJars
Returns jars that this retransformer was asked toadd
to the boot classloader. Note that the returned set will not include those jars that were added to the instrumentor object at startup via the -javaagent command line argument.- Returns:
- set of jar pathnames for all jars loaded in the boot classloader
-
getLoadedSystemJars
Returns jars that this retransformer was asked toadd
to the system classloader. Note that the returned set will not include those jars that were added to the instrumentor object at startup via the -javaagent command line argument.- Returns:
- set of jar pathnames for all jars loaded in the system classloader
-