diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml index aa33464a..ce0ebd2a 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/pom.xml @@ -3,9 +3,9 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - spring-cloud-kubernetes-controllers org.springframework.cloud -3.0.0-SNAPSHOT + spring-cloud-kubernetes-controllers + 3.0.0-SNAPSHOT 4.0.0 diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetector.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetector.java index 4bc967ef..a92f56ee 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetector.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetector.java @@ -21,6 +21,7 @@ import io.fabric8.kubernetes.client.KubernetesClient; import reactor.core.publisher.Mono; import org.springframework.cloud.bus.BusProperties; +import org.springframework.cloud.bus.event.PathDestinationFactory; import org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigReloadProperties; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigurationUpdateStrategy; @@ -39,7 +40,7 @@ public class BusEventBasedConfigMapWatcherChangeDetector extends ConfigMapWatche private ApplicationEventPublisher applicationEventPublisher; - private BusProperties busProperties; + private final BusProperties busProperties; public BusEventBasedConfigMapWatcherChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, KubernetesClient kubernetesClient, ConfigurationUpdateStrategy strategy, @@ -54,8 +55,8 @@ public class BusEventBasedConfigMapWatcherChangeDetector extends ConfigMapWatche @Override protected Mono triggerRefresh(ConfigMap configMap) { - this.applicationEventPublisher.publishEvent( - new RefreshRemoteApplicationEvent(configMap, busProperties.getId(), configMap.getMetadata().getName())); + this.applicationEventPublisher.publishEvent(new RefreshRemoteApplicationEvent(configMap, busProperties.getId(), + new PathDestinationFactory().getDestination(configMap.getMetadata().getName()))); return Mono.empty(); } diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedSecretsWatcherChangeDetector.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedSecretsWatcherChangeDetector.java index 44677032..5fa9c94d 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedSecretsWatcherChangeDetector.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedSecretsWatcherChangeDetector.java @@ -21,6 +21,7 @@ import io.fabric8.kubernetes.client.KubernetesClient; import reactor.core.publisher.Mono; import org.springframework.cloud.bus.BusProperties; +import org.springframework.cloud.bus.event.PathDestinationFactory; import org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigReloadProperties; import org.springframework.cloud.kubernetes.commons.config.reload.ConfigurationUpdateStrategy; @@ -39,7 +40,7 @@ public class BusEventBasedSecretsWatcherChangeDetector extends SecretsWatcherCha private ApplicationEventPublisher applicationEventPublisher; - private BusProperties busProperties; + private final BusProperties busProperties; public BusEventBasedSecretsWatcherChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties, KubernetesClient kubernetesClient, ConfigurationUpdateStrategy strategy, @@ -54,8 +55,8 @@ public class BusEventBasedSecretsWatcherChangeDetector extends SecretsWatcherCha @Override protected Mono triggerRefresh(Secret secret) { - this.applicationEventPublisher.publishEvent( - new RefreshRemoteApplicationEvent(secret, busProperties.getId(), secret.getMetadata().getName())); + this.applicationEventPublisher.publishEvent(new RefreshRemoteApplicationEvent(secret, busProperties.getId(), + new PathDestinationFactory().getDestination(secret.getMetadata().getName()))); return Mono.empty(); } diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-amqp.yaml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-amqp.yaml new file mode 100644 index 00000000..eed3c25d --- /dev/null +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-amqp.yaml @@ -0,0 +1,10 @@ +spring: + cloud: + bus: + enabled: true + stream: + default-binder: rabbit +management: + health: + rabbit: + enabled: true diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-kafka.yaml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-kafka.yaml new file mode 100644 index 00000000..76e033c0 --- /dev/null +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application-bus-kafka.yaml @@ -0,0 +1,6 @@ +spring: + cloud: + bus: + enabled: true + stream: + default-binder: kafka diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application.yml b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application.yml index db2a799a..6bdc3337 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application.yml +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/main/resources/application.yml @@ -13,27 +13,9 @@ management: health: rabbit: enabled: false - probes: - enabled: true + endpoint: + health: + probes: + enabled: true server: port: 8888 ---- -spring: - profiles: bus-amqp - cloud: - bus: - enabled: true - stream: - default-binder: rabbit -management: - health: - rabbit: - enabled: true ---- -spring: - profiles: bus-kafka - cloud: - bus: - enabled: true - stream: - default-binder: kafka \ No newline at end of file diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java index ea7effb1..e630f42a 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java @@ -62,15 +62,13 @@ public class BusEventBasedConfigMapWatcherChangeDetectorTests { private BusEventBasedConfigMapWatcherChangeDetector changeDetector; - private ConfigurationWatcherConfigurationProperties configurationWatcherConfigurationProperties; - private BusProperties busProperties; @Before public void setup() { MockEnvironment mockEnvironment = new MockEnvironment(); ConfigReloadProperties configReloadProperties = new ConfigReloadProperties(); - configurationWatcherConfigurationProperties = new ConfigurationWatcherConfigurationProperties(); + ConfigurationWatcherConfigurationProperties configurationWatcherConfigurationProperties = new ConfigurationWatcherConfigurationProperties(); busProperties = new BusProperties(); changeDetector = new BusEventBasedConfigMapWatcherChangeDetector(mockEnvironment, configReloadProperties, client, updateStrategy, fabric8ConfigMapPropertySourceLocator, busProperties, diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/main/resources/application.yaml b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/main/resources/application.yaml index a14ad1f8..bc818472 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/main/resources/application.yaml +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/main/resources/application.yaml @@ -9,22 +9,27 @@ spring: autoconfigure: exclude: org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration management: - health: - probes: - enabled: true + endpoint: + health: + probes: + enabled: true --- spring: - profiles: bus-amqp cloud: bus: enabled: true stream: default-binder: rabbit + config: + activate: + on-profile: bus-amqp --- spring: - profiles: bus-kafka cloud: bus: enabled: true stream: - default-binder: kafka \ No newline at end of file + default-binder: kafka + config: + activate: + on-profile: bus-kafka diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java index 25d1609d..dc1c3da1 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-configuration-watcher-it/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/ActuatorRefreshRabbitMQIT.java @@ -122,7 +122,7 @@ public class ActuatorRefreshRabbitMQIT { () -> rest.getForEntity("http://localhost:80/it", String.class).getStatusCode().is2xxSuccessful()); // Wait a bit before we verify - await().pollInterval(Duration.ofSeconds(1)).atMost(Duration.ofSeconds(90)).until(() -> { + await().pollInterval(Duration.ofSeconds(1)).atMost(Duration.ofSeconds(120)).until(() -> { Boolean value = rest.getForObject("http://localhost:80/it", Boolean.class); log.info("Returned " + value + " from http://localhost:80/it"); return value;