zxCoder
V2EX  ›  Java

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

  •  
  •   zxCoder · Sep 24, 2023 · 2124 views
    This topic created in 1138 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    这样的好处是轻量,速度快;
    infoscope
    infoscope
    Sep 24, 2023 via iPhone
    3
    springboot 的 autoconfiguration 不就可以吗
    Aresxue
    Aresxue
    Sep 25, 2023
    4
    看看 SOFA Boot ,本质上就是自定义 classloader 这条路。
    zhongpingjing
    zhongpingjing
    Nov 1, 2023
    5
    @v2e0xAdmin2 hello ,能否说一下具体怎么做,有没有什么资料参考一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5037 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:17 · PVG 16:17 · LAX 00:17 · JFK 03:17
    ♥ Do have faith in what you're doing.