主系统使用 Spring ,然后插件也是 Spring ,然后打包成 jar 包,可以在主系统页面上动态加载卸载。
这样主系统和插件之间是不同的 Spring 上下文,是不是通信比较麻烦?以及每个插件打包的时候都包含了单独的 Spring 依赖。
有没有比较正确的方式来实现这样的效果。
主系统使用 Spring ,然后插件也是 Spring ,然后打包成 jar 包,可以在主系统页面上动态加载卸载。
1
2han9wen71an 2023-09-24 12:09:04 +08:00
spring boot+osgi 就可以了
|
2
v2e0xAdmin2 2023-09-24 13:53:46 +08:00
@2han9wen71an #1 osgi 太重了;我们的经验是用自己实现的 Classloader 加载,并将这个插件实现放到 spirng 容器里;使用同一个 spring 上下文;三方依赖也是相同的;
这样的好处是轻量,速度快; |
3
infoscope 2023-09-24 17:25:29 +08:00 via iPhone
springboot 的 autoconfiguration 不就可以吗
|
4
Aresxue 2023-09-25 10:11:27 +08:00
看看 SOFA Boot ,本质上就是自定义 classloader 这条路。
|
5
zhongpingjing 2023-11-01 15:23:11 +08:00
@v2e0xAdmin2 hello ,能否说一下具体怎么做,有没有什么资料参考一下
|
6
v2e0xAdmin2 2023-11-01 16:46:06 +08:00
|