如何在spring 配置服务器中动态生成一个配置属性?

How to dynamically generate a configuration property in spring configuration server?

我希望我的 spring 配置服务器 return 属性 基于客户端特定的详细信息。

具体来说,在某些配置文件中,我希望名为 'self.url' 的 属性 的值包含客户端的 ip。在其他配置文件中,它是一个常数值 属性...

可能吗?如果是,怎么做?

非常感谢大家

好吧,我认为您可以为不同的配置文件设置不同的属性值。

我认为配置服务器不可能立即将 self.url 之类的占位符解析为请求配置客户端的 IP 地址。请记住,配置服务器是托管文件并根据请求提供服务的服务器。在返回文件之前以特定于请求者的方式转换文件是不寻常的。从配置服务器的角度来看,它必须是每个请求者的转换,因为特定应用程序可能有多个实例 运行(因此同一配置文件的多个客户端,每个客户端都有不同的 IP)。我不知道配置服务器中的功能可以执行此操作。 (在我看来,它 can resolve placeholders locally 但仅在配置服务器内部,否则占位符将传递给请求客户端本身进行解析。)

也许您可以让该配置文件的属性文件包含一个占位符,并让客户端自己使用 java 将其解析为自己的 IP 地址。 (一个例子 or here。)

也可以在 individual clients can override 配置服务器的配置中设置默认值。这也许适用于您的情况。