如何在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 配置服务器的配置中设置默认值。这也许适用于您的情况。
我希望我的 spring 配置服务器 return 属性 基于客户端特定的详细信息。
具体来说,在某些配置文件中,我希望名为 'self.url' 的 属性 的值包含客户端的 ip。在其他配置文件中,它是一个常数值 属性...
可能吗?如果是,怎么做?
非常感谢大家
好吧,我认为您可以为不同的配置文件设置不同的属性值。
我认为配置服务器不可能立即将 self.url
之类的占位符解析为请求配置客户端的 IP 地址。请记住,配置服务器是托管文件并根据请求提供服务的服务器。在返回文件之前以特定于请求者的方式转换文件是不寻常的。从配置服务器的角度来看,它必须是每个请求者的转换,因为特定应用程序可能有多个实例 运行(因此同一配置文件的多个客户端,每个客户端都有不同的 IP)。我不知道配置服务器中的功能可以执行此操作。 (在我看来,它 can resolve placeholders locally 但仅在配置服务器内部,否则占位符将传递给请求客户端本身进行解析。)
也许您可以让该配置文件的属性文件包含一个占位符,并让客户端自己使用 java 将其解析为自己的 IP 地址。 (一个例子
也可以在 individual clients can override 配置服务器的配置中设置默认值。这也许适用于您的情况。