From 463f4d2e24836785396a99d4c5e7f3e92af11170 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Fri, 19 Oct 2018 16:45:19 +0200 Subject: [PATCH 1/3] Deprecate spring-cloud-netflix-core module, move functionality over to spring-cloud-netflix-hystrix. Fixes gh-3216 --- .../main/asciidoc/spring-cloud-netflix.adoc | 2 +- pom.xml | 1 + spring-cloud-netflix-core/pom.xml | 151 +------------- .../netflix/core/CoreAutoConfiguration.java | 22 +++ .../main/resources/META-INF/spring.factories | 6 +- spring-cloud-netflix-dependencies/pom.xml | 5 + spring-cloud-netflix-eureka-client/pom.xml | 2 +- spring-cloud-netflix-eureka-server/pom.xml | 2 +- .../pom.xml | 2 +- spring-cloud-netflix-hystrix-stream/pom.xml | 2 +- spring-cloud-netflix-hystrix/pom.xml | 186 ++++++++++++++++++ .../cloud/netflix/hystrix/EnableHystrix.java | 0 .../hystrix/HystrixAutoConfiguration.java | 0 .../HystrixCircuitBreakerConfiguration.java | 0 .../netflix/hystrix/HystrixCommands.java | 0 .../netflix/hystrix/HystrixConstants.java | 0 .../hystrix/HystrixHealthIndicator.java | 0 .../hystrix/HystrixMetricsProperties.java | 0 .../netflix/hystrix/HystrixProperties.java | 0 .../hystrix/HystrixStreamEndpoint.java | 0 .../hystrix/HystrixWebfluxEndpoint.java | 0 .../HystrixSecurityAutoConfiguration.java | 0 .../SecurityContextConcurrencyStrategy.java | 0 ...itional-spring-configuration-metadata.json | 16 ++ .../main/resources/META-INF/spring.factories | 6 + .../cloud/netflix/AdhocTestSuite.java | 0 .../HystrixAutoConfigurationTests.java | 0 .../netflix/hystrix/HystrixCommandsTests.java | 0 .../hystrix/HystrixConfigurationTests.java | 0 .../netflix/hystrix/HystrixOnlyTests.java | 0 .../hystrix/HystrixStreamEndpointTests.java | 0 .../hystrix/HystrixWebfluxEndpointTests.java | 0 .../security/HystrixSecurityApplication.java | 0 .../security/HystrixSecurityNoFeignTests.java | 0 .../app/CustomConcurrenyStrategy.java | 0 .../security/app/UsernameController.java | 0 .../resttemplate/RestTemplateRetryTests.java | 0 .../HttpClientStatusCodeExceptionTest.java | 0 .../okhttp/OkHttpStatusCodeExceptionTest.java | 0 .../netflix/test/NoSecurityConfiguration.java | 0 .../netflix/test/TestAutoConfiguration.java | 0 .../test/resources/META-INF/spring.factories | 0 .../src/test/resources/application.yml | 0 .../src/test/resources/archaius_db_store.sql | 0 .../src/test/resources/config.properties.bak | 0 .../src/test/resources/static/index.html | 0 spring-cloud-netflix-sidecar/pom.xml | 2 +- spring-cloud-netflix-turbine-stream/pom.xml | 2 +- spring-cloud-netflix-turbine/pom.xml | 2 +- spring-cloud-netflix-zuul/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- 52 files changed, 254 insertions(+), 161 deletions(-) create mode 100644 spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java create mode 100644 spring-cloud-netflix-hystrix/pom.xml rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/EnableHystrix.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCommands.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixConstants.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixHealthIndicator.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixMetricsProperties.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixProperties.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpoint.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpoint.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityAutoConfiguration.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/main/java/org/springframework/cloud/netflix/hystrix/security/SecurityContextConcurrencyStrategy.java (100%) create mode 100644 spring-cloud-netflix-hystrix/src/main/resources/META-INF/additional-spring-configuration-metadata.json create mode 100644 spring-cloud-netflix-hystrix/src/main/resources/META-INF/spring.factories rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfigurationTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixCommandsTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixConfigurationTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpointTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityApplication.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityNoFeignTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/CustomConcurrenyStrategy.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/UsernameController.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTests.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/ribbon/apache/HttpClientStatusCodeExceptionTest.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/ribbon/okhttp/OkHttpStatusCodeExceptionTest.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/test/NoSecurityConfiguration.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/java/org/springframework/cloud/netflix/test/TestAutoConfiguration.java (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/resources/META-INF/spring.factories (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/resources/application.yml (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/resources/archaius_db_store.sql (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/resources/config.properties.bak (100%) rename {spring-cloud-netflix-core => spring-cloud-netflix-hystrix}/src/test/resources/static/index.html (100%) diff --git a/docs/src/main/asciidoc/spring-cloud-netflix.adoc b/docs/src/main/asciidoc/spring-cloud-netflix.adoc index 406ef0e12..16e0c1226 100644 --- a/docs/src/main/asciidoc/spring-cloud-netflix.adoc +++ b/docs/src/main/asciidoc/spring-cloud-netflix.adoc @@ -1685,7 +1685,7 @@ This path can be changed with the `zuul.servlet-path` property. To pass information between filters, Zuul uses a https://github.com/Netflix/zuul/blob/1.x/zuul-core/src/main/java/com/netflix/zuul/context/RequestContext.java[`RequestContext`]. Its data is held in a `ThreadLocal` specific to each request. Information about where to route requests, errors, and the actual `HttpServletRequest` and `HttpServletResponse` are stored there. -The `RequestContext` extends `ConcurrentHashMap`, so anything can be stored in the context. https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/support/FilterConstants.java[`FilterConstants`] contains the keys used by the filters installed by Spring Cloud Netflix (more on these <>). +The `RequestContext` extends `ConcurrentHashMap`, so anything can be stored in the context. https://github.com/spring-cloud/spring-cloud-netflix/blob/master/spring-cloud-netflix-zuul/src/main/java/org/springframework/cloud/netflix/zuul/filters/support/FilterConstants.java[`FilterConstants`] contains the keys used by the filters installed by Spring Cloud Netflix (more on these <>). ==== `@EnableZuulProxy` vs. `@EnableZuulServer` diff --git a/pom.xml b/pom.xml index 88bfb702d..e981244bf 100644 --- a/pom.xml +++ b/pom.xml @@ -149,6 +149,7 @@ spring-cloud-netflix-zuul spring-cloud-netflix-ribbon spring-cloud-starter-netflix + spring-cloud-netflix-hystrix docs diff --git a/spring-cloud-netflix-core/pom.xml b/spring-cloud-netflix-core/pom.xml index 76cd65401..6017b0464 100644 --- a/spring-cloud-netflix-core/pom.xml +++ b/spring-cloud-netflix-core/pom.xml @@ -10,157 +10,18 @@ spring-cloud-netflix-core jar - Spring Cloud Netflix Core - Spring Cloud Netflix Core + Spring Cloud Netflix Core - Deprecated + Deprecated Spring Cloud Netflix Core - will be removed. Please use spring-cloud-netflix-hystrix instead. + + org.springframework.cloud + spring-cloud-netflix-hystrix + org.springframework.boot spring-boot-autoconfigure - - - org.springframework.boot - spring-boot-configuration-processor true - - org.springframework.boot - spring-boot-starter-actuator - true - - - org.springframework.boot - spring-boot-starter-security - true - - - org.springframework.boot - spring-boot-starter-web - true - - - org.springframework.boot - spring-boot-starter-webflux - true - - - org.springframework.boot - spring-boot-starter-reactor-netty - true - - - io.netty - netty-codec-http - true - - - io.projectreactor - reactor-core - true - - - io.reactivex - rxjava-reactive-streams - true - - - org.springframework.retry - spring-retry - true - - - org.springframework.boot - spring-boot-starter-aop - - - org.springframework.cloud - spring-cloud-commons - true - - - org.springframework.cloud - spring-cloud-context - true - - - com.netflix.ribbon - ribbon-loadbalancer - true - - - com.netflix.hystrix - hystrix-core - true - - - com.netflix.hystrix - hystrix-serialization - true - - - com.netflix.hystrix - hystrix-metrics-event-stream - true - - - com.netflix.hystrix - hystrix-javanica - true - - - com.netflix.ribbon - ribbon-core - true - - - com.netflix.ribbon - ribbon-httpclient - true - - - io.reactivex - rxjava - true - - - com.sun.jersey.contribs - jersey-apache-client4 - true - - - com.squareup.okhttp3 - okhttp - true - - - org.springframework.boot - spring-boot-starter-test - test - - - org.springframework.cloud - spring-cloud-netflix-ribbon - test - - - org.springframework.cloud - spring-cloud-test-support - test - - - org.springframework.boot - spring-boot-autoconfigure-processor - true - - - io.projectreactor - reactor-test - test - - - com.netflix.ribbon - ribbon - test - diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java new file mode 100644 index 000000000..e04ba8165 --- /dev/null +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java @@ -0,0 +1,22 @@ +package org.springframework.cloud.netflix.core; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.context.annotation.Configuration; + +/** + * @author Olga Maciaszek-Sharma + * @since 2.1.0 + * @deprecated Module spring-cloud-netflix-core is deprecated as of 2.1.0, use spring-cloud-netflix-hystrix instead. + */ +@Configuration +@Deprecated +public class CoreAutoConfiguration { + + private static final Log LOG = LogFactory.getLog(CoreAutoConfiguration.class); + + public CoreAutoConfiguration() { + LOG.warn("This module is deprecated. It will be removed in the next major release. " + + "Please use spring-cloud-netflix-hystrix instead."); + } +} diff --git a/spring-cloud-netflix-core/src/main/resources/META-INF/spring.factories b/spring-cloud-netflix-core/src/main/resources/META-INF/spring.factories index 86fb33e2c..7362ab93f 100644 --- a/spring-cloud-netflix-core/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-netflix-core/src/main/resources/META-INF/spring.factories @@ -1,6 +1,2 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.springframework.cloud.netflix.hystrix.HystrixAutoConfiguration,\ -org.springframework.cloud.netflix.hystrix.security.HystrixSecurityAutoConfiguration - -org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker=\ -org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration +org.springframework.cloud.netflix.core.CoreAutoConfiguration \ No newline at end of file diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index 514850171..49d321158 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -95,6 +95,11 @@ spring-cloud-netflix-core ${project.version} + + org.springframework.cloud + spring-cloud-netflix-hystrix + ${project.version} + org.springframework.cloud spring-cloud-netflix-eureka-server diff --git a/spring-cloud-netflix-eureka-client/pom.xml b/spring-cloud-netflix-eureka-client/pom.xml index ea76a3a19..8a27bbb0f 100644 --- a/spring-cloud-netflix-eureka-client/pom.xml +++ b/spring-cloud-netflix-eureka-client/pom.xml @@ -29,7 +29,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-netflix-eureka-server/pom.xml b/spring-cloud-netflix-eureka-server/pom.xml index 14b7cb255..b6f155e0f 100644 --- a/spring-cloud-netflix-eureka-server/pom.xml +++ b/spring-cloud-netflix-eureka-server/pom.xml @@ -43,7 +43,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-netflix-hystrix-dashboard/pom.xml b/spring-cloud-netflix-hystrix-dashboard/pom.xml index ca3099877..7f4c5f906 100644 --- a/spring-cloud-netflix-hystrix-dashboard/pom.xml +++ b/spring-cloud-netflix-hystrix-dashboard/pom.xml @@ -31,7 +31,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.apache.httpcomponents diff --git a/spring-cloud-netflix-hystrix-stream/pom.xml b/spring-cloud-netflix-hystrix-stream/pom.xml index 5d0450d0f..a1cca07ee 100644 --- a/spring-cloud-netflix-hystrix-stream/pom.xml +++ b/spring-cloud-netflix-hystrix-stream/pom.xml @@ -28,7 +28,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-netflix-hystrix/pom.xml b/spring-cloud-netflix-hystrix/pom.xml new file mode 100644 index 000000000..ce3a2f510 --- /dev/null +++ b/spring-cloud-netflix-hystrix/pom.xml @@ -0,0 +1,186 @@ + + + 4.0.0 + + org.springframework.cloud + spring-cloud-netflix + 2.1.0.BUILD-SNAPSHOT + .. + + spring-cloud-netflix-hystrix + jar + Spring Cloud Netflix Hystrix + Spring Cloud Netflix Hystrix + + + org.springframework.boot + spring-boot-autoconfigure + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter-actuator + true + + + org.springframework.boot + spring-boot-starter-security + true + + + org.springframework.boot + spring-boot-starter-web + true + + + org.springframework.boot + spring-boot-starter-webflux + true + + + org.springframework.boot + spring-boot-starter-reactor-netty + true + + + io.netty + netty-codec-http + true + + + io.projectreactor + reactor-core + true + + + io.reactivex + rxjava-reactive-streams + true + + + org.springframework.retry + spring-retry + true + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework.cloud + spring-cloud-commons + true + + + org.springframework.cloud + spring-cloud-context + true + + + com.netflix.ribbon + ribbon-loadbalancer + true + + + com.netflix.hystrix + hystrix-core + true + + + com.netflix.hystrix + hystrix-serialization + true + + + com.netflix.hystrix + hystrix-metrics-event-stream + true + + + com.netflix.hystrix + hystrix-javanica + true + + + com.netflix.ribbon + ribbon-core + true + + + com.netflix.ribbon + ribbon-httpclient + true + + + io.reactivex + rxjava + true + + + com.sun.jersey.contribs + jersey-apache-client4 + true + + + com.squareup.okhttp3 + okhttp + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.cloud + spring-cloud-netflix-ribbon + test + + + org.springframework.cloud + spring-cloud-test-support + test + + + org.springframework.boot + spring-boot-autoconfigure-processor + true + + + io.projectreactor + reactor-test + test + + + com.netflix.ribbon + ribbon + test + + + + + java8plus + + [1.8,2.0) + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + -parameters + + + + + + + + diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/EnableHystrix.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/EnableHystrix.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/EnableHystrix.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/EnableHystrix.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfiguration.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCommands.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCommands.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCommands.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixCommands.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixConstants.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixConstants.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixConstants.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixConstants.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixHealthIndicator.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixHealthIndicator.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixHealthIndicator.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixHealthIndicator.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixMetricsProperties.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixMetricsProperties.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixMetricsProperties.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixMetricsProperties.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixProperties.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixProperties.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixProperties.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixProperties.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpoint.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpoint.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpoint.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpoint.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpoint.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpoint.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpoint.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpoint.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityAutoConfiguration.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityAutoConfiguration.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityAutoConfiguration.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityAutoConfiguration.java diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/security/SecurityContextConcurrencyStrategy.java b/spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/security/SecurityContextConcurrencyStrategy.java similarity index 100% rename from spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/hystrix/security/SecurityContextConcurrencyStrategy.java rename to spring-cloud-netflix-hystrix/src/main/java/org/springframework/cloud/netflix/hystrix/security/SecurityContextConcurrencyStrategy.java diff --git a/spring-cloud-netflix-hystrix/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-netflix-hystrix/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 000000000..1dd3a52d7 --- /dev/null +++ b/spring-cloud-netflix-hystrix/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,16 @@ +{ + "properties": [ + { + "defaultValue": "true", + "name": "management.metrics.binders.hystrix.enabled", + "description": "Enables creation of OK Http Client factory beans.", + "type": "java.lang.Boolean" + }, + { + "defaultValue": false, + "name": "hystrix.shareSecurityContext", + "description": "Enables auto-configuration of the Hystrix concurrency strategy plugin hook who will transfer the `SecurityContext` from your main thread to the one used by the Hystrix command.", + "type": "java.lang.Boolean" + } + ] +} \ No newline at end of file diff --git a/spring-cloud-netflix-hystrix/src/main/resources/META-INF/spring.factories b/spring-cloud-netflix-hystrix/src/main/resources/META-INF/spring.factories new file mode 100644 index 000000000..86fb33e2c --- /dev/null +++ b/spring-cloud-netflix-hystrix/src/main/resources/META-INF/spring.factories @@ -0,0 +1,6 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.springframework.cloud.netflix.hystrix.HystrixAutoConfiguration,\ +org.springframework.cloud.netflix.hystrix.security.HystrixSecurityAutoConfiguration + +org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker=\ +org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/AdhocTestSuite.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfigurationTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfigurationTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfigurationTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixAutoConfigurationTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixCommandsTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixCommandsTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixCommandsTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixCommandsTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixConfigurationTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixConfigurationTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixConfigurationTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixConfigurationTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixOnlyTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixStreamEndpointTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpointTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpointTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpointTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/HystrixWebfluxEndpointTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityApplication.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityApplication.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityApplication.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityApplication.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityNoFeignTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityNoFeignTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityNoFeignTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/HystrixSecurityNoFeignTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/CustomConcurrenyStrategy.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/CustomConcurrenyStrategy.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/CustomConcurrenyStrategy.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/CustomConcurrenyStrategy.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/UsernameController.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/UsernameController.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/UsernameController.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/hystrix/security/app/UsernameController.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTests.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTests.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTests.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/resttemplate/RestTemplateRetryTests.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/HttpClientStatusCodeExceptionTest.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/ribbon/apache/HttpClientStatusCodeExceptionTest.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/apache/HttpClientStatusCodeExceptionTest.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/ribbon/apache/HttpClientStatusCodeExceptionTest.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/okhttp/OkHttpStatusCodeExceptionTest.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/ribbon/okhttp/OkHttpStatusCodeExceptionTest.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/ribbon/okhttp/OkHttpStatusCodeExceptionTest.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/ribbon/okhttp/OkHttpStatusCodeExceptionTest.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/test/NoSecurityConfiguration.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/test/NoSecurityConfiguration.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/test/NoSecurityConfiguration.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/test/NoSecurityConfiguration.java diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/test/TestAutoConfiguration.java b/spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/test/TestAutoConfiguration.java similarity index 100% rename from spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/test/TestAutoConfiguration.java rename to spring-cloud-netflix-hystrix/src/test/java/org/springframework/cloud/netflix/test/TestAutoConfiguration.java diff --git a/spring-cloud-netflix-core/src/test/resources/META-INF/spring.factories b/spring-cloud-netflix-hystrix/src/test/resources/META-INF/spring.factories similarity index 100% rename from spring-cloud-netflix-core/src/test/resources/META-INF/spring.factories rename to spring-cloud-netflix-hystrix/src/test/resources/META-INF/spring.factories diff --git a/spring-cloud-netflix-core/src/test/resources/application.yml b/spring-cloud-netflix-hystrix/src/test/resources/application.yml similarity index 100% rename from spring-cloud-netflix-core/src/test/resources/application.yml rename to spring-cloud-netflix-hystrix/src/test/resources/application.yml diff --git a/spring-cloud-netflix-core/src/test/resources/archaius_db_store.sql b/spring-cloud-netflix-hystrix/src/test/resources/archaius_db_store.sql similarity index 100% rename from spring-cloud-netflix-core/src/test/resources/archaius_db_store.sql rename to spring-cloud-netflix-hystrix/src/test/resources/archaius_db_store.sql diff --git a/spring-cloud-netflix-core/src/test/resources/config.properties.bak b/spring-cloud-netflix-hystrix/src/test/resources/config.properties.bak similarity index 100% rename from spring-cloud-netflix-core/src/test/resources/config.properties.bak rename to spring-cloud-netflix-hystrix/src/test/resources/config.properties.bak diff --git a/spring-cloud-netflix-core/src/test/resources/static/index.html b/spring-cloud-netflix-hystrix/src/test/resources/static/index.html similarity index 100% rename from spring-cloud-netflix-core/src/test/resources/static/index.html rename to spring-cloud-netflix-hystrix/src/test/resources/static/index.html diff --git a/spring-cloud-netflix-sidecar/pom.xml b/spring-cloud-netflix-sidecar/pom.xml index 705176823..d38821f1a 100644 --- a/spring-cloud-netflix-sidecar/pom.xml +++ b/spring-cloud-netflix-sidecar/pom.xml @@ -44,7 +44,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-netflix-turbine-stream/pom.xml b/spring-cloud-netflix-turbine-stream/pom.xml index 275ebaae5..1a2d31b50 100644 --- a/spring-cloud-netflix-turbine-stream/pom.xml +++ b/spring-cloud-netflix-turbine-stream/pom.xml @@ -73,7 +73,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-netflix-turbine/pom.xml b/spring-cloud-netflix-turbine/pom.xml index 3b4622f59..ab16d3cc0 100644 --- a/spring-cloud-netflix-turbine/pom.xml +++ b/spring-cloud-netflix-turbine/pom.xml @@ -67,7 +67,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix true diff --git a/spring-cloud-netflix-zuul/pom.xml b/spring-cloud-netflix-zuul/pom.xml index d3694eb44..d1b1e671a 100644 --- a/spring-cloud-netflix-zuul/pom.xml +++ b/spring-cloud-netflix-zuul/pom.xml @@ -19,7 +19,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.apache.httpcomponents diff --git a/spring-cloud-starter-netflix/spring-cloud-starter-netflix-eureka-client/pom.xml b/spring-cloud-starter-netflix/spring-cloud-starter-netflix-eureka-client/pom.xml index d3eaef6ab..787ce7b50 100644 --- a/spring-cloud-starter-netflix/spring-cloud-starter-netflix-eureka-client/pom.xml +++ b/spring-cloud-starter-netflix/spring-cloud-starter-netflix-eureka-client/pom.xml @@ -21,7 +21,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud diff --git a/spring-cloud-starter-netflix/spring-cloud-starter-netflix-hystrix/pom.xml b/spring-cloud-starter-netflix/spring-cloud-starter-netflix-hystrix/pom.xml index 5485348fb..987d1f352 100644 --- a/spring-cloud-starter-netflix/spring-cloud-starter-netflix-hystrix/pom.xml +++ b/spring-cloud-starter-netflix/spring-cloud-starter-netflix-hystrix/pom.xml @@ -21,7 +21,7 @@ org.springframework.cloud - spring-cloud-netflix-core + spring-cloud-netflix-hystrix org.springframework.cloud From 427a9721c25ea336b5629a4ae82cc3c3a3afdc5e Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Fri, 19 Oct 2018 16:48:51 +0200 Subject: [PATCH 2/3] Remove unnecessary configuration metadata. --- ...additional-spring-configuration-metadata.json | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 spring-cloud-netflix-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/spring-cloud-netflix-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-netflix-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json deleted file mode 100644 index 1dd3a52d7..000000000 --- a/spring-cloud-netflix-core/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "properties": [ - { - "defaultValue": "true", - "name": "management.metrics.binders.hystrix.enabled", - "description": "Enables creation of OK Http Client factory beans.", - "type": "java.lang.Boolean" - }, - { - "defaultValue": false, - "name": "hystrix.shareSecurityContext", - "description": "Enables auto-configuration of the Hystrix concurrency strategy plugin hook who will transfer the `SecurityContext` from your main thread to the one used by the Hystrix command.", - "type": "java.lang.Boolean" - } - ] -} \ No newline at end of file From b5cf29437fb6120875905e90f274f77f2b857178 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Fri, 19 Oct 2018 16:56:10 +0200 Subject: [PATCH 3/3] Add license. --- .../netflix/core/CoreAutoConfiguration.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java index e04ba8165..21f4b474e 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/core/CoreAutoConfiguration.java @@ -1,3 +1,19 @@ +/* + * Copyright 2018 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.netflix.core; import org.apache.commons.logging.Log;