@ApplicationScoped public class AppClassLoader extends java.lang.ClassLoader implements ControllerClassMetaInfoHolder, CommanderClassMetaInfoHolder, MailerClassMetaInfoHolder, AppService<AppClassLoader>, ActClassLoader
The top level class loader to load a specific application classes into JVM
Destroyable.Util
Modifier and Type | Field and Description |
---|---|
protected CommanderClassMetaInfoManager |
commanderInfo |
protected ControllerClassMetaInfoManager |
controllerInfo |
protected JobClassMetaInfoManager |
jobInfo |
protected MailerClassMetaInfoManager |
mailerInfo |
protected Metric |
metric |
protected SimpleBean.MetaInfoManager |
simpleBeanInfo |
Constructor and Description |
---|
AppClassLoader(App app) |
Modifier and Type | Method and Description |
---|---|
App |
app() |
AppClassLoader |
app(App app) |
protected byte[] |
appBytecode(java.lang.String name) |
protected byte[] |
appBytecode(java.lang.String name,
boolean loadFromSource) |
protected byte[] |
bytecode(java.lang.String name) |
protected byte[] |
bytecode(java.lang.String name,
boolean compileSource) |
ClassInfoRepository |
classInfoRepository() |
CommanderClassMetaInfo |
commanderClassMetaInfo(java.lang.String commanderClassName) |
CommanderClassMetaInfoManager |
commanderClassMetaInfoManager() |
ControllerClassMetaInfo |
controllerClassMetaInfo(java.lang.String controllerClassName) |
ControllerClassMetaInfoManager |
controllerClassMetaInfoManager() |
java.lang.Class<?> |
defineClass(java.lang.String name,
byte[] b,
int off,
int len,
boolean resolve) |
void |
destroy() |
void |
detectChanges() |
protected byte[] |
enhance(java.lang.String className,
byte[] bytecode) |
protected static boolean |
enhanceEligible(java.lang.String name) |
boolean |
isDestroyed() |
boolean |
isSourceClass(java.lang.String className) |
JobClassMetaInfo |
jobClassMetaInfo(java.lang.String jobClassName) |
JobClassMetaInfoManager |
jobClassMetaInfoManager() |
protected byte[] |
loadAppClassFromDisk(java.lang.String name) |
protected java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolve) |
java.lang.Class<?> |
loadedClass(java.lang.String name) |
MailerClassMetaInfo |
mailerClassMetaInfo(java.lang.String className) |
MailerClassMetaInfoManager |
mailerClassMetaInfoManager() |
protected void |
preload() |
protected void |
preloadClasses() |
protected void |
preloadClassFile(java.io.File base,
java.io.File file) |
protected void |
releaseResources() |
protected void |
scan() |
protected void |
scanByteCode(java.lang.Iterable<java.lang.String> classes,
org.osgl.Osgl.Function<java.lang.String,byte[]> bytecodeProvider)
This method implement a event listener based scan process: First loop: through all cached bytecode.
|
java.lang.Class<? extends java.lang.annotation.Annotation> |
scope() |
SimpleBean.MetaInfoManager |
simpleBeanInfoManager() |
SimpleBean.MetaInfo |
simpleBeanMetaInfo(java.lang.String className) |
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
protected ControllerClassMetaInfoManager controllerInfo
protected MailerClassMetaInfoManager mailerInfo
protected CommanderClassMetaInfoManager commanderInfo
protected JobClassMetaInfoManager jobInfo
protected SimpleBean.MetaInfoManager simpleBeanInfo
protected Metric metric
@Inject public AppClassLoader(App app)
public final boolean isDestroyed()
isDestroyed
in interface Destroyable
public java.lang.Class<? extends java.lang.annotation.Annotation> scope()
scope
in interface Destroyable
public AppClassLoader app(App app)
app
in interface AppHolder<AppClassLoader>
public final App app()
app
in interface AppHolder<AppClassLoader>
public final void destroy()
destroy
in interface Destroyable
public ClassInfoRepository classInfoRepository()
classInfoRepository
in interface ActClassLoader
protected void releaseResources()
public void detectChanges()
public ControllerClassMetaInfo controllerClassMetaInfo(java.lang.String controllerClassName)
controllerClassMetaInfo
in interface ControllerClassMetaInfoHolder
public ControllerClassMetaInfoManager controllerClassMetaInfoManager()
public CommanderClassMetaInfo commanderClassMetaInfo(java.lang.String commanderClassName)
commanderClassMetaInfo
in interface CommanderClassMetaInfoHolder
public CommanderClassMetaInfoManager commanderClassMetaInfoManager()
public SimpleBean.MetaInfoManager simpleBeanInfoManager()
public MailerClassMetaInfo mailerClassMetaInfo(java.lang.String className)
mailerClassMetaInfo
in interface MailerClassMetaInfoHolder
public MailerClassMetaInfoManager mailerClassMetaInfoManager()
public JobClassMetaInfo jobClassMetaInfo(java.lang.String jobClassName)
public JobClassMetaInfoManager jobClassMetaInfoManager()
public SimpleBean.MetaInfo simpleBeanMetaInfo(java.lang.String className)
public boolean isSourceClass(java.lang.String className)
public java.lang.Class<?> loadedClass(java.lang.String name)
loadedClass
in interface ActClassLoader
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
protected void scan()
protected void scanByteCode(java.lang.Iterable<java.lang.String> classes, org.osgl.Osgl.Function<java.lang.String,byte[]> bytecodeProvider)
This method implement a event listener based scan process:
protected void preload()
protected void preloadClasses()
protected void preloadClassFile(java.io.File base, java.io.File file)
protected byte[] loadAppClassFromDisk(java.lang.String name)
public java.lang.Class<?> defineClass(java.lang.String name, byte[] b, int off, int len, boolean resolve)
protected byte[] enhance(java.lang.String className, byte[] bytecode)
protected byte[] appBytecode(java.lang.String name)
protected byte[] appBytecode(java.lang.String name, boolean loadFromSource)
protected byte[] bytecode(java.lang.String name)
protected byte[] bytecode(java.lang.String name, boolean compileSource)
protected static boolean enhanceEligible(java.lang.String name)
Copyright © 2014–2017 ActFramework. All rights reserved.