【发布时间】:2015-12-30 07:27:47
【问题描述】:
我想在 Spring Boot 应用程序中实现插件架构。让我解释一下我的情况。我有一个主应用程序,它启动服务器、管理安全等。该应用程序就像我最终产品的根目录,它将包括这个根应用程序和添加到它的其他插件。
现在,插件本身就是 Spring Boot 应用程序,我可以通过在特定路径中动态搜索 jar 或将它们作为库添加到项目依赖项来将其添加到根应用程序中。
插件有自己的配置,就像在主根应用程序中运行的应用程序一样。假设如果根应用程序运行服务器,插件应用程序可能具有所有控制器(端点)、bean 等为我的产品提供功能。
这是前提,现在我想知道的是,
- 如何实现这种架构?
- 根应用如何与插件通信?
- 它们会有单独的应用程序上下文吗?
- 如何从根应用启动和配置子应用?
- 当应用程序收到来自客户端的请求时,考虑到我可能有很多插件,我如何将请求路由到特定插件内的特定控制器。
我对这里的概念以及它如何工作感到困惑。任何形式的帮助表示赞赏。如果有任何人都可以提供的例子,那就太好了。
【问题讨论】:
-
我要实现类似的插件系统。你找到解决办法了吗?
标签: java spring spring-mvc spring-boot plugin-architecture