插件式框架技术可行性研究

插件式框架技术可行性研究

前沿

纯粹属于突发奇想,落地可能比这情况复杂多,这里暂只提供可行性研究,后续如果有时间可能会提供出demo,目前仅供参考,有兴趣的可以一起讨论。

需求背景

因为我主要从事与流程引擎相关的工作,最近突发奇想,因为不同的公司可能会有类似的流程。能不能将现有的 流程引擎应用,升级为流程引擎中心。通过引入插件开发者,增强系统的核心竞争力。类似与 jira 插件 或者 微信/支付宝 等小程序模式。

技术原理

通过类加载机制,加载远程或指定路径的bean,从而实现项目插件化的目的。

技术准备

  1. pf4j
    PF4J 是一个 Java 的插件框架,为第三方提供应用扩展的渠道。使用 PF4J 你可以轻松将一个普通的 Java 应用转成一个模块化的应用。PF4J 本身非常轻量级,只有 50KB 左右,目前只依赖了 slf4j。Gitblit 项目使用的就是 PF4J 进行插件管理。
    github链接: pf4j.

  2. springboot-plugin-framework-parent
    发现一个基于 pf4j 很好拓展的项目
    介绍
    该框架主要是集成于springboot项目,用于开发插件式应用的集成框架。

    核心功能
    插件配置式插拔于springboot项目。
    在springboot上可以进行插件式开发, 扩展性极强, 可以针对不同项目开发不同插件, 进行不同插件jar包的部署。
    可通过配置文件指定要启用或者禁用插件。
    支持上传插件和插件配置文件到服务器, 并且无需重启主程序, 动态部署插件、更新插件。
    支持查看插件运行状态, 查看插件安装位置。
    无需重启主程序, 动态的安装插件、卸载插件、启用插件、停止插件、备份插件、删除插件。
    在插件应用模块上可以使用Spring注解定义组件, 进行依赖注入。
    支持在插件中开发Rest接口。
    支持在插件中单独定义持久层访问等需求。
    可以遵循主程序提供的插件接口开发任意扩展功能。
    插件可以自定义配置文件。目前只支持yml文件。
    支持自定义扩展开发接口, 使用者可以在预留接口上扩展额外功能。
    支持插件之间的通信。
    支持插件中使用事务注解。
    支持Swagger。(仅支持首次启动初始化的插件)

参考文档: springboot-plugin-framework-parent.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风中思絮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值