public abstract class AbstractLibScriptFactory<T extends IScript> extends AbstractStaticScriptFactory<T>
| 限定符和类型 | 类和说明 |
|---|---|
static class |
AbstractLibScriptFactory.State |
AbstractStaticScriptFactory.StaticScriptRegister| 限定符和类型 | 字段和说明 |
|---|---|
protected org.slf4j.Logger |
_log |
protected boolean |
autoReload
是否自动重载变更代码
|
protected net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.ScriptClassLoader |
classLoader |
protected Map<Integer,Class<? extends T>> |
codeMap |
protected long |
intervalMillis
文件监测间隔时间
|
protected Map<String,net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.RecordFile> |
loadedRecord
记录加载的jar文件和时间
|
protected static ScheduledExecutorService |
schedule |
protected String |
scriptLibDir
脚本库目录
|
protected AbstractLibScriptFactory.State |
state |
staticCodeMap| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractLibScriptFactory(String scriptLibDir) |
protected |
AbstractLibScriptFactory(String scriptLibDir,
boolean autoReload) |
| 限定符和类型 | 方法和说明 |
|---|---|
T |
buildInstance(int code)
创建一个脚本实例
|
T |
buildInstance(int code,
Object... args)
创建一个脚本实例
|
protected List<File> |
findJarFile(String scriptLibDir)
寻找目录下的jar文件
|
protected Set<Class<? extends T>> |
findScriptClass(Set<Class<?>> clazzs)
找出脚本类
|
protected Map<Integer,Class<? extends T>> |
findScriptCodeMap(Set<Class<? extends T>> scriptClazzs)
查找可实例化的脚本
|
protected String |
getClassRootDir()
获取class文件根目录
|
protected Class<? extends T> |
getScriptClass(int code) |
AbstractLibScriptFactory.State |
getState() |
boolean |
isAutoReload() |
void |
loadAllClass()
遍历配置的目录的jar文件并加载class
|
protected Set<Class<?>> |
loadAllClass(File jarFile,
net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.ScriptClassLoader loader)
加载jar的所有类
|
protected void |
loadAllClass(List<File> jarFiles)
加载所有的类
|
protected void |
loadAllClassByDir(String scriptLibDir)
遍历目录所有jar并加载class
|
void |
reload()
重新加载脚本
|
void |
setAutoReload(boolean autoReload) |
getStaticScriptClass, initStaticScriptRegist, newInstance, newInstance, registStaticScriptprotected final org.slf4j.Logger _log
protected final String scriptLibDir
protected net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.ScriptClassLoader classLoader
protected volatile boolean autoReload
protected final Map<String,net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.RecordFile> loadedRecord
protected volatile AbstractLibScriptFactory.State state
protected long intervalMillis
protected static final ScheduledExecutorService schedule
protected AbstractLibScriptFactory(String scriptLibDir)
protected AbstractLibScriptFactory(String scriptLibDir, boolean autoReload)
protected List<File> findJarFile(String scriptLibDir)
scriptLibDir - protected final String getClassRootDir()
public final void loadAllClass()
throws Exception
protected final void loadAllClassByDir(String scriptLibDir) throws Exception
protected final void loadAllClass(List<File> jarFiles) throws Exception
jarFiles - IOExceptionClassNotFoundExceptionIllegalAccessExceptionInstantiationExceptionExceptionprotected Set<Class<?>> loadAllClass(File jarFile, net.jueb.util4j.hotSwap.classFactory.old.v0.AbstractLibScriptFactory.ScriptClassLoader loader) throws Exception
jarFiles - loader - ClassNotFoundExceptionIOExceptionExceptionprotected Set<Class<? extends T>> findScriptClass(Set<Class<?>> clazzs) throws InstantiationException, IllegalAccessException
clazzs - InstantiationExceptionIllegalAccessExceptionprotected Map<Integer,Class<? extends T>> findScriptCodeMap(Set<Class<? extends T>> scriptClazzs) throws InstantiationException, IllegalAccessException
scriptClazzs - InstantiationExceptionIllegalAccessExceptionpublic boolean isAutoReload()
public void setAutoReload(boolean autoReload)
public final AbstractLibScriptFactory.State getState()
public final T buildInstance(int code)
IScriptFactorybuildInstance 在接口中 IScriptFactory<T extends IScript>buildInstance 在类中 AbstractStaticScriptFactory<T extends IScript>public T buildInstance(int code, Object... args)
IScriptFactorybuildInstance 在接口中 IScriptFactory<T extends IScript>buildInstance 在类中 AbstractStaticScriptFactory<T extends IScript>args - 脚本构造参数public final void reload()
IScriptFactoryreload 在接口中 IScriptFactory<T extends IScript>reload 在类中 AbstractStaticScriptFactory<T extends IScript>Copyright © 2020. All rights reserved.