【发布时间】:2016-11-25 19:35:00
【问题描述】:
这个问题和这个existing question有点相似
我仍在尝试导航或尝试找到可以自定义的正确 Spring Boot 代码。我需要开发与现有配置服务器连接并为键提供值的 java SDK。此 SDK 将用于 java 应用程序,可能是也可能不是 Spring 应用程序。 QA 将使用相同的 SDK 对配置服务器进行回归测试。
所以问题是,如果给定
- 配置服务器网址
- 应用名称
- 活动配置文件(不需要标签,它将是默认主), 我可以初始化一些配置客户端类,它会给我简单的方法,如 public String getKeyValue(final String key)
我正在查看诸如 ConfigServicePropertySourceLocator、CompositePropertySource、ConfigClientAutoConfiguration、ConfigServiceBootstrapConfiguration 等类的来源。 p>
我需要手动构建环境对象吗?如果是,怎么做?
【问题讨论】:
-
我不太确定你的问题在哪里。本质上,您可以通过 URL 访问配置服务器,该 URL 具有给出的三项内容并以您喜欢的格式(yaml、json)检索。所以你需要的一切都是
HttpUrlConnection,也许还有一个 JSON 库,就是这样。 -
我试图避免解析 JSON 并自己获取值。客户端应用程序也可以提供 cmdLine 覆盖参数。为了使它完美,我可能最终会重新发明轮子。因此,我想使用配置客户端库作为 SDK 来配置服务器。
-
但是我没有得到你的目标。你想保持尽可能低调还是重复使用现有的东西?如果第一次看到上面的评论,如果第二次你可能无法在没有 Spring 的情况下使用它。
-
嗨,丹,正如我所说,它可能与现有问题重复。为了回答你,我需要在非 spring 环境中运行这个 SDK(配置客户端)。不过,我可以在 spring boot 上添加依赖项。我还需要重写一些方法来自定义我们如何获取值和文件内容。 (配置服务器也支持提供文件内容)
标签: spring spring-boot spring-cloud-config