From f8f4408972f5e19616889031e7622c14a359dabe Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Mon, 26 Jan 2015 21:15:16 -0700 Subject: [PATCH] Move some discovery classes to subpackages. Create discovey.event.ParentHeartbeatEvent for passing HearbeatEvents originating in a parent context to child contexts --- .../CommonsClientAutoConfiguration.java | 6 +-- .../discovery/AbstractDiscoveryLifecycle.java | 1 + .../HeartbeatEvent.java} | 6 +-- .../{ => event}/InstanceRegisteredEvent.java | 2 +- .../discovery/event/ParentHeartbeatEvent.java | 40 +++++++++++++++++++ .../DiscoveryClientHealthIndicator.java | 3 +- .../DiscoveryCompositeHealthIndicator.java | 2 +- .../DiscoveryHealthIndicator.java | 2 +- .../{ => noop}/NoopDiscoveryClient.java | 3 +- .../NoopDiscoveryClientAutoConfiguration.java | 4 +- src/main/resources/META-INF/spring.factories | 2 +- ...iscoveryCompositeHealthIndicatorTests.java | 3 +- ...eryClientConfigurationAdditionalTests.java | 3 +- ...NoopDiscoveryClientConfigurationTests.java | 3 +- 14 files changed, 64 insertions(+), 16 deletions(-) rename src/main/java/org/springframework/cloud/client/discovery/{DiscoveryHeartbeatEvent.java => event/HeartbeatEvent.java} (82%) rename src/main/java/org/springframework/cloud/client/discovery/{ => event}/InstanceRegisteredEvent.java (95%) create mode 100644 src/main/java/org/springframework/cloud/client/discovery/event/ParentHeartbeatEvent.java rename src/main/java/org/springframework/cloud/client/discovery/{ => health}/DiscoveryClientHealthIndicator.java (93%) rename src/main/java/org/springframework/cloud/client/discovery/{ => health}/DiscoveryCompositeHealthIndicator.java (96%) rename src/main/java/org/springframework/cloud/client/discovery/{ => health}/DiscoveryHealthIndicator.java (93%) rename src/main/java/org/springframework/cloud/client/discovery/{ => noop}/NoopDiscoveryClient.java (92%) rename src/main/java/org/springframework/cloud/client/discovery/{ => noop}/NoopDiscoveryClientAutoConfiguration.java (93%) rename src/test/java/org/springframework/cloud/client/discovery/{ => health}/DiscoveryCompositeHealthIndicatorTests.java (95%) rename src/test/java/org/springframework/cloud/client/discovery/{ => noop}/NoopDiscoveryClientConfigurationAdditionalTests.java (93%) rename src/test/java/org/springframework/cloud/client/discovery/{ => noop}/NoopDiscoveryClientConfigurationTests.java (90%) diff --git a/src/main/java/org/springframework/cloud/client/CommonsClientAutoConfiguration.java b/src/main/java/org/springframework/cloud/client/CommonsClientAutoConfiguration.java index df24aeed..e7c3302b 100644 --- a/src/main/java/org/springframework/cloud/client/CommonsClientAutoConfiguration.java +++ b/src/main/java/org/springframework/cloud/client/CommonsClientAutoConfiguration.java @@ -25,9 +25,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.client.discovery.DiscoveryClient; -import org.springframework.cloud.client.discovery.DiscoveryClientHealthIndicator; -import org.springframework.cloud.client.discovery.DiscoveryCompositeHealthIndicator; -import org.springframework.cloud.client.discovery.DiscoveryHealthIndicator; +import org.springframework.cloud.client.discovery.health.DiscoveryClientHealthIndicator; +import org.springframework.cloud.client.discovery.health.DiscoveryCompositeHealthIndicator; +import org.springframework.cloud.client.discovery.health.DiscoveryHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; diff --git a/src/main/java/org/springframework/cloud/client/discovery/AbstractDiscoveryLifecycle.java b/src/main/java/org/springframework/cloud/client/discovery/AbstractDiscoveryLifecycle.java index f48a4cb4..9aca2f90 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/AbstractDiscoveryLifecycle.java +++ b/src/main/java/org/springframework/cloud/client/discovery/AbstractDiscoveryLifecycle.java @@ -20,6 +20,7 @@ import javax.annotation.PreDestroy; import org.springframework.beans.BeansException; import org.springframework.boot.actuate.autoconfigure.ManagementServerProperties; +import org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.core.env.Environment; diff --git a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryHeartbeatEvent.java b/src/main/java/org/springframework/cloud/client/discovery/event/HeartbeatEvent.java similarity index 82% rename from src/main/java/org/springframework/cloud/client/discovery/DiscoveryHeartbeatEvent.java rename to src/main/java/org/springframework/cloud/client/discovery/event/HeartbeatEvent.java index caa58a47..e6cc42e7 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryHeartbeatEvent.java +++ b/src/main/java/org/springframework/cloud/client/discovery/event/HeartbeatEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.event; import org.springframework.context.ApplicationEvent; @@ -22,11 +22,11 @@ import org.springframework.context.ApplicationEvent; * @author Spencer Gibb */ @SuppressWarnings("serial") -public class DiscoveryHeartbeatEvent extends ApplicationEvent { +public class HeartbeatEvent extends ApplicationEvent { private final Object value; - public DiscoveryHeartbeatEvent(Object source, Object value) { + public HeartbeatEvent(Object source, Object value) { super(source); this.value = value; } diff --git a/src/main/java/org/springframework/cloud/client/discovery/InstanceRegisteredEvent.java b/src/main/java/org/springframework/cloud/client/discovery/event/InstanceRegisteredEvent.java similarity index 95% rename from src/main/java/org/springframework/cloud/client/discovery/InstanceRegisteredEvent.java rename to src/main/java/org/springframework/cloud/client/discovery/event/InstanceRegisteredEvent.java index 6bf3ed3e..c9ad8d1f 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/InstanceRegisteredEvent.java +++ b/src/main/java/org/springframework/cloud/client/discovery/event/InstanceRegisteredEvent.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.event; import org.springframework.context.ApplicationEvent; diff --git a/src/main/java/org/springframework/cloud/client/discovery/event/ParentHeartbeatEvent.java b/src/main/java/org/springframework/cloud/client/discovery/event/ParentHeartbeatEvent.java new file mode 100644 index 00000000..371f43ab --- /dev/null +++ b/src/main/java/org/springframework/cloud/client/discovery/event/ParentHeartbeatEvent.java @@ -0,0 +1,40 @@ +/* + * Copyright 2013-2015 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.client.discovery.event; + +import org.springframework.context.ApplicationEvent; + +/** + * Heartbeat Event that a Parent ApplicationContext can send to a child Context. + * Useful when config server is located via DiscoveryClient + * @author Spencer Gibb + */ +@SuppressWarnings("serial") +public class ParentHeartbeatEvent extends ApplicationEvent { + + private final Object value; + + public ParentHeartbeatEvent(Object source, Object value) { + super(source); + this.value = value; + } + + public Object getValue() { + return this.value; + } + +} diff --git a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryClientHealthIndicator.java b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryClientHealthIndicator.java similarity index 93% rename from src/main/java/org/springframework/cloud/client/discovery/DiscoveryClientHealthIndicator.java rename to src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryClientHealthIndicator.java index 227db82b..dec5ad94 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryClientHealthIndicator.java +++ b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryClientHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.health; import java.util.List; @@ -22,6 +22,7 @@ import lombok.extern.apachecommons.CommonsLog; import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.Status; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.core.Ordered; /** diff --git a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicator.java b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicator.java similarity index 96% rename from src/main/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicator.java rename to src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicator.java index 0b79b2b5..a42320cc 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicator.java +++ b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.health; import java.util.List; diff --git a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryHealthIndicator.java b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryHealthIndicator.java similarity index 93% rename from src/main/java/org/springframework/cloud/client/discovery/DiscoveryHealthIndicator.java rename to src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryHealthIndicator.java index 9a93dcbc..219a8556 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/DiscoveryHealthIndicator.java +++ b/src/main/java/org/springframework/cloud/client/discovery/health/DiscoveryHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.health; import org.springframework.boot.actuate.health.Health; diff --git a/src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClient.java b/src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClient.java similarity index 92% rename from src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClient.java rename to src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClient.java index 8e59d434..4047ae91 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClient.java +++ b/src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClient.java @@ -14,12 +14,13 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.noop; import java.util.Collections; import java.util.List; import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; /** * @author Dave Syer diff --git a/src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientAutoConfiguration.java b/src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientAutoConfiguration.java similarity index 93% rename from src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientAutoConfiguration.java rename to src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientAutoConfiguration.java index 2524a854..c1b2f5a0 100644 --- a/src/main/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientAutoConfiguration.java +++ b/src/main/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientAutoConfiguration.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.noop; import java.net.InetAddress; import java.net.UnknownHostException; @@ -30,6 +30,8 @@ import org.springframework.boot.context.embedded.EmbeddedServletContainer; import org.springframework.boot.context.embedded.EmbeddedWebApplicationContext; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.client.DefaultServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.discovery.event.InstanceRegisteredEvent; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; import org.springframework.context.annotation.Bean; diff --git a/src/main/resources/META-INF/spring.factories b/src/main/resources/META-INF/spring.factories index a96848cf..68039cde 100644 --- a/src/main/resources/META-INF/spring.factories +++ b/src/main/resources/META-INF/spring.factories @@ -1,4 +1,4 @@ # Bootstrap Configuration org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.cloud.client.CommonsClientAutoConfiguration,\ -org.springframework.cloud.client.discovery.NoopDiscoveryClientAutoConfiguration +org.springframework.cloud.client.discovery.noop.NoopDiscoveryClientAutoConfiguration diff --git a/src/test/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicatorTests.java b/src/test/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicatorTests.java similarity index 95% rename from src/test/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicatorTests.java rename to src/test/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicatorTests.java index 8afcbfec..552e7967 100644 --- a/src/test/java/org/springframework/cloud/client/discovery/DiscoveryCompositeHealthIndicatorTests.java +++ b/src/test/java/org/springframework/cloud/client/discovery/health/DiscoveryCompositeHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.health; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -31,6 +31,7 @@ import org.springframework.boot.actuate.health.HealthAggregator; import org.springframework.boot.actuate.health.OrderedHealthAggregator; import org.springframework.boot.actuate.health.Status; import org.springframework.cloud.client.CommonsClientAutoConfiguration; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; diff --git a/src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationAdditionalTests.java b/src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationAdditionalTests.java similarity index 93% rename from src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationAdditionalTests.java rename to src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationAdditionalTests.java index a93803dc..9898b955 100644 --- a/src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationAdditionalTests.java +++ b/src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationAdditionalTests.java @@ -1,4 +1,4 @@ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.noop; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -10,6 +10,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; diff --git a/src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationTests.java b/src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationTests.java similarity index 90% rename from src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationTests.java rename to src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationTests.java index 1dabd780..b0af60ca 100644 --- a/src/test/java/org/springframework/cloud/client/discovery/NoopDiscoveryClientConfigurationTests.java +++ b/src/test/java/org/springframework/cloud/client/discovery/noop/NoopDiscoveryClientConfigurationTests.java @@ -1,4 +1,4 @@ -package org.springframework.cloud.client.discovery; +package org.springframework.cloud.client.discovery.noop; import org.junit.Test; import org.junit.runner.RunWith; @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.SpringApplicationConfiguration; +import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;