在基于注释的Spring Boot应用程序中实现插件架构
我想在Spring Boot应用程序中实现插件架构。让我解释一下我的场景。我有一个主应用程序,它启动服务器,管理安全性等。该应用程序就像我的最终产品的根,它将包括此根应用程序和添加到其中的其他插件。
现在,插件本身就是Spring Boot应用程序,我可以通过在特定路径中动态搜索jar或将它们作为库添加到项目依赖项中来将其添加到根应用程序中。
插件有自己的配置,就像在主根应用程序内运行的应用程序一样。假设根应用程序运行服务器,则插件应用程序可能具有为我的产品提供功能的所有控制器(端点),Bean等。
这是前提,现在我想知道的是,
- 如何实现此体系结构?
- 根应用程序将如何与插件通信?
- 它们是否具有单独的应用程序上下文?
- 如何从根应用启动和配置子应用?
- 当应用程序收到来自客户端的请求时,考虑到我可能有很多插件,我如何将请求路由到特定插件内的特定控制器。
我对这里的概念以及它是如何工作的感到困惑。任何形式的帮助都是值得赞赏的。如果有一些任何人都可以提供的例子,那将是很棒的。