Class JBossModulesSystem
- java.lang.Object
-
- org.jboss.byteman.modules.jbossmodules.JBossModulesSystem
-
- All Implemented Interfaces:
ModuleSystem<ClassbyteClassLoader>
public class JBossModulesSystem extends java.lang.Object implements ModuleSystem<ClassbyteClassLoader>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
JBossModulesSystem.ModuleLoaderWrapper
Utility class to allow instantiatingModuleLoader
with jboss-modules version 1.2.0 and earlier (protected constructors)
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Set<java.lang.String>
BYTEMAN_PACKAGE_PATHS
private java.util.concurrent.atomic.AtomicLong
currentRuleNumber
private boolean
lazyInited
private static java.lang.String
RULE_MODULE_PREFIX
private org.jboss.modules.ModuleLoader
ruleModuleLoader
private java.util.Map<org.jboss.modules.ModuleIdentifier,org.jboss.modules.ModuleSpec>
ruleModules
private java.util.concurrent.atomic.AtomicBoolean
warningEmitted
-
Constructor Summary
Constructors Constructor Description JBossModulesSystem()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassbyteClassLoader
createLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)
protected ClassbyteClassLoader
createModularLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)
void
destroyLoader(ClassbyteClassLoader loader)
void
initialize(java.lang.String args)
private void
lazyInit()
java.lang.Class<?>
loadHelperAdapter(ClassbyteClassLoader helperLoader, java.lang.String helperAdapterName, byte[] classBytes)
dynamically load and return a generated helper adapter classes using a custom classloader derived from the trigger class's loaderprotected ClassbyteClassLoader
warnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.Exception e, java.lang.String message)
protected ClassbyteClassLoader
warnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.String message)
protected ClassbyteClassLoader
warnAndFallback(java.lang.ClassLoader triggerClassLoader, java.lang.String message)
-
-
-
Field Detail
-
lazyInited
private boolean lazyInited
-
ruleModuleLoader
private org.jboss.modules.ModuleLoader ruleModuleLoader
-
warningEmitted
private final java.util.concurrent.atomic.AtomicBoolean warningEmitted
-
currentRuleNumber
private final java.util.concurrent.atomic.AtomicLong currentRuleNumber
-
ruleModules
private java.util.Map<org.jboss.modules.ModuleIdentifier,org.jboss.modules.ModuleSpec> ruleModules
-
RULE_MODULE_PREFIX
private static final java.lang.String RULE_MODULE_PREFIX
- See Also:
- Constant Field Values
-
BYTEMAN_PACKAGE_PATHS
private static final java.util.Set<java.lang.String> BYTEMAN_PACKAGE_PATHS
-
-
Method Detail
-
initialize
public void initialize(java.lang.String args)
- Specified by:
initialize
in interfaceModuleSystem<ClassbyteClassLoader>
-
lazyInit
private void lazyInit()
-
createLoader
public ClassbyteClassLoader createLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)
- Specified by:
createLoader
in interfaceModuleSystem<ClassbyteClassLoader>
-
destroyLoader
public void destroyLoader(ClassbyteClassLoader loader)
- Specified by:
destroyLoader
in interfaceModuleSystem<ClassbyteClassLoader>
-
loadHelperAdapter
public java.lang.Class<?> loadHelperAdapter(ClassbyteClassLoader helperLoader, java.lang.String helperAdapterName, byte[] classBytes)
Description copied from interface:ModuleSystem
dynamically load and return a generated helper adapter classes using a custom classloader derived from the trigger class's loader- Specified by:
loadHelperAdapter
in interfaceModuleSystem<ClassbyteClassLoader>
- Parameters:
helperLoader
- the class loader of the trigger class which has been matched with this helper class's rulehelperAdapterName
- the name of the helper adapter class to be loadedclassBytes
- the byte array defining the class- Returns:
- the new helper class
-
createModularLoader
protected ClassbyteClassLoader createModularLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)
-
warnAndFallback
protected ClassbyteClassLoader warnAndFallback(java.lang.ClassLoader triggerClassLoader, java.lang.String message)
-
warnAndContinue
protected ClassbyteClassLoader warnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.String message)
-
warnAndContinue
protected ClassbyteClassLoader warnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.Exception e, java.lang.String message)
-
-