title: Spring Cloud Refresh event does not recognize removed properties?
body: <p><strong>Background:</strong></p>
  
  <p>I have a Spring Boot 1.4 application running with Spring Cloud. My app is using the native profile to pull settings from an external config.properties file. The config server is embedded inside the same application.</p>
  
  <p>In the config.properties file I have added the following setting:</p>
  
  <pre><code>app.setting=helloworld
  </code></pre>
  
  <p><strong>What works:</strong></p>
  
  <p>When I change the property and send a REFRESH event, relevant beans marked are reloaded and the change is recognized correctly. </p>
  
  <p><strong>What doesn't work:</strong></p>
  
  <p>If I actually remove the property from config.properties, (by commenting it out for instance), the REFRESH event does nothing to actually refresh the application. Spring Cloud seems to not recognize the fact that the property is removed and when the data-binder proceeds to update the state of the world it misses the fact that the property is removed, and the corresponding bean linked to it must also be refreshed and its field set to blank/null, etc. </p>
  
  <p>It looks like the data-binder only looks at what is at the moment available in the configuration and does not keep record of <strong>what was vs what is</strong>. </p>
  
  <p>The only way to actually disable that setting in the bean configuration state is not by removing it, but by actually setting it to a blank value (which is a new value, given the setting is just a String). Note the field in Java bean mapped to this property has no default value other than null, and the value is not defined anywhere else (as in an embedded application.properties file, etc) </p>
  
  <ol>
  <li>What might I be missing? </li>
  <li>Is this a feature? Bug? </li>
  </ol>
  
  <p>Thanks for your time.</p>