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 classJBossModulesSystem.ModuleLoaderWrapperUtility class to allow instantiatingModuleLoaderwith 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_PATHSprivate java.util.concurrent.atomic.AtomicLongcurrentRuleNumberprivate booleanlazyInitedprivate static java.lang.StringRULE_MODULE_PREFIXprivate org.jboss.modules.ModuleLoaderruleModuleLoaderprivate java.util.Map<org.jboss.modules.ModuleIdentifier,org.jboss.modules.ModuleSpec>ruleModulesprivate java.util.concurrent.atomic.AtomicBooleanwarningEmitted
-
Constructor Summary
Constructors Constructor Description JBossModulesSystem()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ClassbyteClassLoadercreateLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)protected ClassbyteClassLoadercreateModularLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)voiddestroyLoader(ClassbyteClassLoader loader)voidinitialize(java.lang.String args)private voidlazyInit()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 ClassbyteClassLoaderwarnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.Exception e, java.lang.String message)protected ClassbyteClassLoaderwarnAndContinue(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports, java.lang.String message)protected ClassbyteClassLoaderwarnAndFallback(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:
initializein interfaceModuleSystem<ClassbyteClassLoader>
-
lazyInit
private void lazyInit()
-
createLoader
public ClassbyteClassLoader createLoader(java.lang.ClassLoader triggerClassLoader, java.lang.String[] imports)
- Specified by:
createLoaderin interfaceModuleSystem<ClassbyteClassLoader>
-
destroyLoader
public void destroyLoader(ClassbyteClassLoader loader)
- Specified by:
destroyLoaderin interfaceModuleSystem<ClassbyteClassLoader>
-
loadHelperAdapter
public java.lang.Class<?> loadHelperAdapter(ClassbyteClassLoader helperLoader, java.lang.String helperAdapterName, byte[] classBytes)
Description copied from interface:ModuleSystemdynamically load and return a generated helper adapter classes using a custom classloader derived from the trigger class's loader- Specified by:
loadHelperAdapterin 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)
-
-