这样的插件化系统设计可以实现吗

2023-09-24 11:52:12 +08:00
 zxCoder

主系统使用 Spring ,然后插件也是 Spring ,然后打包成 jar 包,可以在主系统页面上动态加载卸载。

这样主系统和插件之间是不同的 Spring 上下文,是不是通信比较麻烦?以及每个插件打包的时候都包含了单独的 Spring 依赖。

有没有比较正确的方式来实现这样的效果。

主系统使用 Spring ,然后插件也是 Spring ,然后打包成 jar 包,可以在主系统页面上动态加载卸载。

1024 次点击
所在节点    Java
6 条回复
2han9wen71an
2023-09-24 12:09:04 +08:00
spring boot+osgi 就可以了
v2e0xAdmin2
2023-09-24 13:53:46 +08:00
@2han9wen71an #1 osgi 太重了;我们的经验是用自己实现的 Classloader 加载,并将这个插件实现放到 spirng 容器里;使用同一个 spring 上下文;三方依赖也是相同的;

这样的好处是轻量,速度快;
infoscope
2023-09-24 17:25:29 +08:00
springboot 的 autoconfiguration 不就可以吗
Aresxue
2023-09-25 10:11:27 +08:00
看看 SOFA Boot ,本质上就是自定义 classloader 这条路。
zhongpingjing
2023-11-01 15:23:11 +08:00
@v2e0xAdmin2 hello ,能否说一下具体怎么做,有没有什么资料参考一下
v2e0xAdmin2
2023-11-01 16:46:06 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/976638

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX