Sweet-Plugin基于Spring Boot开发的插件管理
2023-06-18 本文已影响0人
Transy
简介
Sweet-Plugin是基于Spring Boot开发的插件管理框架,采用sidecar
边车运行模式,与主程序一起启动,但具有自己的生命周期
,可以动态安装、卸载、启动和停止插件功能。
特性
- 插件采用标准的SpringBoot Application开发和运行,具有独立、完整的生命周期管理;
-
主程序ApplicationContext
与插件ApplicationContext
完全隔离,通过扩展接口进行通讯; - 使用
maven
打包插件,支持对插件的自主打包编译,支持打包成jar、zip和文件夹多种方式; - 插件具有独立的类加载器,支持插件定义各种的依赖jar包;
- 插件可以使用
主程序
的类包; - 插件可以使用
主程序
的环境变量和yml配置参数; - 插件可以定义
@Autowired
优先级别,例如:优先主程序后插件、优先插件后主程序、只查找插件等; - 插件可以通过
@Extension
向主程序
暴露实现; - 插件支持自定义@Controller控制器,同时监听插件生命周期自动卸载和启用;
- 插件支持AOP工厂,动态扩展业务功能,同时监听插件生命周期自动卸载和启用;
- 插件支持插件工厂,动态扩展一组业务功能,同时监听插件生命周期自动卸载和启用;