SpringCloudConfig自定义环境存储库

SpringCloudConfig自定义环境存储库,spring,spring-cloud,spring-cloud-config,Spring,Spring Cloud,Spring Cloud Config,我正在尝试构建一个Spring云配置服务器,它使用客户端上的RefreshScope注释从专有属性服务器(不是Git)检索属性,以重新注入更改的属性 由于有很多属性和处理,我希望能够执行一个有条件的请求,这样,如果自提供的日期以来没有更改任何属性,那么就不会注入任何内容 我实现了EnvironmentRepository接口,并重写findOne()方法,仅在属性发生更改时检索属性,否则返回空映射 我还尝试从findOne()返回null,但这会导致在配置服务器中抛出NullPointerExc

我正在尝试构建一个Spring云配置服务器,它使用客户端上的RefreshScope注释从专有属性服务器(不是Git)检索属性,以重新注入更改的属性

由于有很多属性和处理,我希望能够执行一个有条件的请求,这样,如果自提供的日期以来没有更改任何属性,那么就不会注入任何内容

我实现了EnvironmentRepository接口,并重写findOne()方法,仅在属性发生更改时检索属性,否则返回空映射

我还尝试从findOne()返回null,但这会导致在配置服务器中抛出NullPointerException

如果我返回环境对象,属性将被正确地重新注入,但在没有更改的情况下,我会尽量避免这种情况

Spring是否提供了一些钩子方法,配置服务器可以在其中通知配置客户端保持其属性不变,而不是重新注入其属性


一种可能的解决方案是抛出异常,而不是返回空的ConfigurableEnvironment。但就算这不是一个非常令人愉快的黑客行为!