java – 在基于注释的Spring Boot Application中实现插件架构

我想在Spring Boot应用程序中实现插件架构.让我解释一下我的情景.我有一个主应用程序,它启动服务器,管理安全性等.该应用程序就像我的最终产品的根,它将包括这个根应用程序和添加到其中的其他插件.

现在,这些插件本身就是Spring Boot应用程序,我可以通过动态搜索特定路径中的jar或者将它们作为库添加到项目依赖项中来添加到root应用程序.

插件有自己的配置,就像在主根应用程序中运行的应用程序一样.假设根应用程序运行服务器,插件应用程序可能包含为我的产品提供功能的所有控制器(端点),bean等.

这是前提,现在我想知道的是,

>我如何实现这种架构?
>根应用程序如何与插件通信?
>他们会有单独的应用程序上下文吗?
>如何从根应用程序启动和配置子应用程序?
>当应用程序收到客户端的请求时,我如何将请求路由到特定插件中的特定控制器,因为我可能有很多插件.

我对这里的概念感到困惑,以及它是如何工作的.任何形式的帮助表示赞赏.如果有一些人可以提供的例子,那将是非常好的.

最佳答案
这篇文章是3年前的.但是,对于想要寻找类似方案解决方案的人,我想回答这个问题.
看来pf4j是一个适合你的插件框架.除了支持原生应用程序,它还有spring-pf4j,因此你可以将它用于spring.

网址:https://pf4j.org

转载注明原文:java – 在基于注释的Spring Boot Application中实现插件架构 - 代码日志