PF4J:Plugin Framework for Java
目录
我对pf4j的封装和使用demo
是什么?
开源轻量级的插件框架。通过插件形式对系统功能进行个性化扩展。插件需要实现扩展点,扩展点由系统进行定义。
不是什么?
功能模块化加载框架。虽然介绍中描述pf4j可以将庞大的系统转化为模块系统,但依据我的实践来看,仅仅依赖pf4j只能动态加载扩展,无法动态加载完整的功能模块。
特点
- 开源轻量级的插件框架
- 简单的标记扩展点,使用interface ExtensionPoint即可将接口和抽象类定义为扩展点
- 简单的标记扩展,使用@Extension即可定义一个扩展
组件
插件 等同于 由 扩展点、扩展、生命周期行为 构成的一个集合。
Plugin | 所有插件的基类。每一个插件均由单独的classloader进行加载,避免冲突。 |
PluginManager | 对插件进行切面化管理,如loading, starting, stopping。已提供3中实现,JarPluginManager, ZipPluginManager, DefaultPluginManager(jar_zip)。也可自行实现个性化pluginManager,需要实现AbstractPluginManager。 |
Pl |