Repository: spring-cloud/spring-cloud-kubernetes
Issue: ConfigMap change does not trigger bean refresh

I am doing some training with spring-cloud-kubernetes on Red Hat minishift. I managed to define a ConfigMap which is correctly found and the configured message ${service.message} is shown..

However, when I change the value in the ConfigMap, the RestController in the @RefreshScope seems not to be refreshed and the message stays the same. Only a restart of the app updates the message.

According to the documentation I assumed this should work. Did I miss some additional step or is this not working yet?

```java
@Controller
@RefreshScope
public class RestController {

	private final String message;

	public RestController(@Value("${service.message}") String message) {
		this.message = message;
	}

	/**
	 * Say hello to earth
	 * 
	 * @return First word from the moon
	 * 
	 */
	@GetMapping("/hello")
	@ResponseBody
	public String hello() {
		return message + " (" + LocalDateTime.now().toString() + ")";
	}
}
```
The ConfigMap

```yaml
apiVersion: v1
data:
  application.yml: |-
    service:
      message: Say hello to the world  
kind: ConfigMap
metadata:
  creationTimestamp: '2019-06-02T17:35:24Z'
  name: openshift-spring-boot-service
  namespace: dsp-dev
  resourceVersion: '67065'
  selfLink: /api/v1/namespaces/dsp-dev/configmaps/openshift-spring-boot-service
  uid: cd7a8217-855c-11e9-8dc5-00155d010b07
```


Changed files:
spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/reload/ConfigReloadAutoConfiguration.java

diff --git a/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/reload/ConfigReloadAutoConfiguration.java b/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/reload/ConfigReloadAutoConfiguration.java
index b811f827..880319b6 100644
--- a/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/reload/ConfigReloadAutoConfiguration.java
+++ b/spring-cloud-kubernetes-config/src/main/java/org/springframework/cloud/kubernetes/config/reload/ConfigReloadAutoConfiguration.java
@@ -38,6 +38,7 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.core.env.AbstractEnvironment;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.util.Assert;
 
 /**
  * Definition of beans needed for the automatic reload of configuration.
@@ -110,9 +111,11 @@ public class ConfigReloadAutoConfiguration {
 		@ConditionalOnMissingBean
 		public ConfigurationUpdateStrategy configurationUpdateStrategy(
 				ConfigReloadProperties properties, ConfigurableApplicationContext ctx,
-				RestartEndpoint restarter, ContextRefresher refresher) {
+				@Autowired(required = false) RestartEndpoint restarter,
+				ContextRefresher refresher) {
 			switch (properties.getStrategy()) {
 			case RESTART_CONTEXT:
+				Assert.notNull(restarter, "Restart endpoint is not enabled");
 				return new ConfigurationUpdateStrategy(properties.getStrategy().name(),
 						restarter::restart);
 			case REFRESH: