【发布时间】:2020-09-16 05:54:30
【问题描述】:
首先,我是 Spring Boot 的新手,所以我不确定在框架内是否有可能发生这样的事情。
让我描述一下我的问题。
我有 10 个代码库。每个存储库都侦听数据流,解析数据并更新数据库。由于可维护性问题,我计划将其置于单个代码存储库中。这个新应用程序将被通用化,并且某些特定于应用程序的配置(例如,我应该连接到哪个流,数据库主机)将在运行时检索。
理论上,这将允许我维护一个代码库,但可以根据我需要的配置将其部署为 10 个独立的服务。但是,有一组特定于应用程序的 java 类用于解析检索到的数据。为了更好地理解这一点,请参考下图。
理想情况下,我仍然需要在同一个存储库中维护这些类,但作为单独的模块。加载配置后,应用程序应该能够将相应的模块加载到应用程序上下文中并初始化 Java 类。不会使用其他模块。
我可以用 Spring Boot 做这样的事情吗?或者,如果我可以创建单独的构建,然后可以单独部署,那么即使是构建时间解决方案也可以。
【问题讨论】:
-
从我的理解你的解释,会有不同的配置设置,也有根据配置设置加载单独模块的情况。它应该能够用弹簧靴完成。 “runtime config load”是指第一次/启动时加载配置,更改时不加载配置。
-
是的,正确。当应用程序初始化时,将加载相应的配置。基于此,有条件的模块将被添加到应用程序上下文中
-
那么应该没问题。只需根据配置创建不同的配置和加载器内部的条件
-
我猜可以使用 if 条件,但我想知道是否有“Spring”方法来处理这个问题。
标签: java spring spring-boot