V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zxCoder
V2EX  ›  Java

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

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

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

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

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

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

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

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