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

Java Spring Boot中是否有可动态加载模块的模式?,java,spring,spring-boot,module,osgi,Java,Spring,Spring Boot,Module,Osgi,我的Spring Boot应用程序具有一个内容管理系统。我希望能够在不需要重新启动应用程序的情况下动态加载新组件。示例组件可能正在加载新的视频播放器组件或广告组件。每个组件都可能包含自己的控制器和视图 对此,推荐的模式是什么?有什么好的框架可以帮助处理这个问题?OSGi是一种选择吗?恐怕没有100%的解决方案。也许有一些选择;让我强调以下三点: 有一种方法可以(自动)配置您的bean 另一个有趣的方法是Spring Boot自己处理扩展的方式——通过拥有自己的Spring Boot启动器,如本文

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


对此,推荐的模式是什么?有什么好的框架可以帮助处理这个问题?OSGi是一种选择吗?

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

  • 有一种方法可以(自动)配置您的bean

  • 另一个有趣的方法是Spring Boot自己处理扩展的方式——通过拥有自己的Spring Boot启动器,如本文所述:,结合Spring工厂,您可以

  • 最像插件的解决方案是。不过,看起来只支持加载,其他一些功能(如版本控制)也缺失了。所以你可能必须自己建造它

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


    总的来说,我的印象是,插件的概念与Spring Boot的理念有点矛盾,因为它是为微服务架构设计的。因此,添加的(插件)功能可能更愿意是一个单独的微服务(有自己的存储),由网关协调,这里让我重点介绍基于spring boot的项目,以展示这种架构的想法。

    如果您使用基于插件的架构,那该怎么办呢?听起来不错!继续…你也可以看看。