pf4j 一個強大的java 插件框架
支持的特性
- 可以靈活的讓單體系統轉化為模塊化系統
- 輕量,只依賴sl4j-api 以及java-semver,擴展靈活
包含的組件
- Plugins 所有插件基類
- PluginManager,抽象插件管理
- PluginLoader 插件加載
- ExtensionPoint java 接口或者抽象類,擴展點會執行代碼的地方
- Extension 擴展的實現,是一個java 的注解類
說明
pf4j 構建需要的版本是9,但是運行時最小是java8,實際上dremio 在處理hive 的也是利用了pf4j,還是值得學習的,我們可以基於serviceloader (spi)
以及commons-discovery 也是一個簡單的選擇
參考資料
https://github.com/pf4j/pf4j
https://pf4j.org/
https://www.cnblogs.com/rongfengliang/p/15837161.html