public final class Container extends Object
Container
常驻内存,PluginJar
动态加载:动静分离
+- 1 containerClassLoader |- 1 jdkClassLoader |- 1 containerApplicationContext | | +- pluginApplicationContext | | Container ----> Plugin --+- pluginClassLoader N | loadClass +---------------------+ | | [Partner | Pattern] Extension
限定符和类型 | 方法和说明 |
---|---|
@NonNull Map<String,IPlugin> |
getActivePlugins()
获取当前所有活跃的
Plugin . |
static @NonNull Container |
getInstance()
获取业务容器单例.
|
void |
loadPartnerPlugin(@NonNull String code,
@NonNull String version,
@NonNull String jarPath,
boolean useSpring)
加载业务前台jar包,使用默认的IContainerContext实现.
|
void |
loadPartnerPlugin(@NonNull String code,
@NonNull String version,
@NonNull String jarPath,
boolean useSpring,
IContainerContext containerContext)
加载业务前台jar包,支持定制IContainerContext的实现.
|
void |
loadPartnerPlugin(@NonNull String code,
@NonNull String version,
@NonNull URL jarUrl,
boolean useSpring)
加载业务前台jar包.
|
@NonNull public static @NonNull Container getInstance()
@NonNull public @NonNull Map<String,IPlugin> getActivePlugins()
Plugin
.public void loadPartnerPlugin(@NonNull @NonNull String code, @NonNull @NonNull String version, @NonNull @NonNull URL jarUrl, boolean useSpring) throws Throwable
code
- IPlugin.getCode()
version
- version of the jarjarUrl
- Plugin jar URLuseSpring
- jar包里是否需要Spring机制Throwable
public void loadPartnerPlugin(@NonNull @NonNull String code, @NonNull @NonNull String version, @NonNull @NonNull String jarPath, boolean useSpring, IContainerContext containerContext) throws Throwable
如果使用本动态加载,就不要maven里静态引入业务前台jar包依赖了.
code
- IPlugin.getCode()
version
- version of the jarjarPath
- jar pathuseSpring
- jar包里是否需要Spring机制containerContext
- container context instanceThrowable
public void loadPartnerPlugin(@NonNull @NonNull String code, @NonNull @NonNull String version, @NonNull @NonNull String jarPath, boolean useSpring) throws Throwable
如果使用本动态加载,就不要maven里静态引入业务前台jar包依赖了.
code
- IPlugin.getCode()
version
- version of the jarjarPath
- jar pathuseSpring
- jar包里是否需要Spring机制Throwable
Copyright © 2020–2023. All rights reserved.