git 地址: https://github.com/stateIs0/exp
为了解决公司的业务痛点, 这段时间一直在搞这个东西。看看开源出来能不能帮到其他人,有用的就点个 star ⭐️⭐️⭐️⭐️⭐️,哈哈
git 地址: https://github.com/stateIs0/exp
为了解决公司的业务痛点, 这段时间一直在搞这个东西。看看开源出来能不能帮到其他人,有用的就点个 star ⭐️⭐️⭐️⭐️⭐️,哈哈
|
zhady009Aug 15, 2023 via iPhone
1
可以看看 PF4J ?
|
|
2
@zhady009 #1 嗯嗯,写完之后才看到这个,看起来类似,但是又有点区别
|
|
3
大概的场景:
B 端大客户对业务进行定制, 需要对主代码扩展,传统做法是 git 拉取分支,现在基于扩展点的方式进行定制, 可热插拔,需要多个程序可分可合, 支持将多个 springboot 应用合并部署, 或拆开部署,扩展点类似 swagger 文档 doc, 用于类插件系统管理平台进行展示, 详细的博客地址: http://thinkinjava.cn/2023/08/15/2023/exp/ |
|
muyiluopAug 16, 2023
4
这个我还真能用上,之前搞物联网设备接入,设备种类太多,协议各种各样,也是搞了一个简单的热插拔的插件,但是解决不了一个问题,就是怎么防恶意代码,我们这支持三方开发,如果写个 System.exit() 或者其他会出现导致程序崩溃的代码,比如 jni 调用第三方库出现个什么内存异常啥的,程序就容易出问题,只能每个三方的不信任插件单独运行。请教下你是怎么处理这种情况的呢
|
|
5
@muyiluop 用 groovy
|
|
6
@muyiluop 详细的说,就是把底层的 classloader 换成 groovy 引擎,这个可以支持代码检查,比如 system-exit
|
|
iosyyyAug 16, 2023
7
看着侵入性好像有点强? 赶紧不算实用
|
|
8
@iosyyy #7 嗯,如果考虑少点侵入性的话,就需要非常多的配置来描述,比如 n 年前的 spring xml ,是个取舍问题;另外侵入性,这个框架都是基于 spi 和 Interface 来编程的,随时可替换成自己的的 spi 实现(如果认可这个 api 的话)
|
|
zxCoderSep 24, 2023
9
这个能结合 spring 吗?
|
|
10
@zxCoder #9 必须可以
|
|
zxCoderSep 24, 2023
11
|
|
12
@zxCoder #11 完全可以,你的场景就是我们的场景
|
|
13
@zxCoder #11 可以提 issue 或者 钉钉群
|
|
zxCoderSep 24, 2023
14
支持 springboot3 吗
|
|
zxCoderSep 24, 2023
15
没找到相关的依赖包
|
|
16
@zxCoder #14 支持 springboot 3 ,在另外一个 project 里; https://github.com/stateIs0/open-exp-springboot3
|
|
zxCoderSep 24, 2023
17
为啥没放 maven 上,方便点
|
|
18
@zxCoder #17 用的人还不多,就没放 maven 了,可以考虑放 maven 仓库
|
|
zxCoderSep 24, 2023
19
@v2e0xAdmin2 可以搞一个,刚刚想在我的项目中测试,但是用不了,还得自己编译到本地仓库
|
|
zerofancyDec 16, 2023 via Android
20
@muyiluop 我有个想法,插件用自定义 classloader 加载,是否可以破坏双亲委派,给 System 类搞个 proxy
|
|
okeyMay 27, 2024
21
老哥,还有交流群吗,想了解下,项目里分享的群过期了
|
|
22
@okey #21
![]() |
|
DlinMar 19, 2025
23
请教一下:资源回收是依赖 spring 的管理么?假如插件中启动了一个 thread 并无限循环一个任务。这种是不是就没法卸载时回收了这个资源了,有没有监测手段呢。
|