V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxCoder
V2EX  ›  Java

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

  •  
  •   zxCoder · 2023-09-24 11:52:12 +08:00 · 1011 次点击
    这是一个创建于 421 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    这样的好处是轻量,速度快;
    infoscope
        3
    infoscope  
       2023-09-24 17:25:29 +08:00 via iPhone
    springboot 的 autoconfiguration 不就可以吗
    Aresxue
        4
    Aresxue  
       2023-09-25 10:11:27 +08:00
    看看 SOFA Boot ,本质上就是自定义 classloader 这条路。
    zhongpingjing
        5
    zhongpingjing  
       2023-11-01 15:23:11 +08:00
    @v2e0xAdmin2 hello ,能否说一下具体怎么做,有没有什么资料参考一下
    v2e0xAdmin2
        6
    v2e0xAdmin2  
       2023-11-01 16:46:06 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5628 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 03:40 · PVG 11:40 · LAX 19:40 · JFK 22:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.