gpt4 book ai didi

java - Spring Boot 中是否有动态可加载模块的模式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:38 25 4
gpt4 key购买 nike

我的 Spring Boot 应用程序具有一个内容管理系统。我希望能够动态加载新组件而无需重新启动应用程序。示例组件可能正在加载新的视频播放器组件或广告组件。每个组件都可能包含自己的 Controller 和 View 。

对此,推荐的模式是什么?有助于处理此问题的良好框架是什么? OSGi 是一种选择吗?

最佳答案

恐怕没有 100% 的解决方案。也许有一些选择;让我强调以下三个:

  1. Spring factories ,一种(自动)配置 bean 的方法。

  2. 另一个有趣的方法是 Spring Boot 如何自行处理扩展的方式 - 通过拥有自己的 spring-boot-starters,如本文所示:https://blog.codecentric.de/en/2014/11/extending-spring-boot-five-steps-writing-spring-boot-starter/ ,与 Spring Factories 结合,您可以

  3. 最像插件的解决方案是 spring-plugin-project .然而,它看起来只支持加载,也缺少一些其他功能,如版本控制。所以你可能必须自己构建它。

所以主要的问题可能是在运行时卸载和更新这些东西,这让我得出了最后的结论:

总的来说,我的印象是拥有插件的概念有点违背 Spring Boot 的想法,因为它是为微服务架构设计的。因此,添加的(插件)功能可能更愿意是一个单独的微服务(有自己的存储),由网关编排,这里让我强调一下基于 spring-boot 的 JHipster项目来展示这种架构的想法。

关于java - Spring Boot 中是否有动态可加载模块的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39953635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com