diff --git a/README.md b/README.md index e845f9e1..01100c72 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ As the interfaces and annotations of Spring Boot 1 and Spring Boot 2 have been c * 0.2.x for Spring Boot 2 During the incubation period,the version management of the project will follow these rules: -* Functional updates will be reflected in the 3rd number of the version, for example, the next version of 0.1.0 will be 0.1.1。 +* Functional updates will be reflected in the 3rd number of the version, for example, the next version of 0.1.0 will be 0.1.1 . * Emergency fixes for bugs that block the main business process will be reflected in version numbers such as 0.1.1.fix. However, it is our duty to improve the test regression process to avoid such scenarios. diff --git a/pom.xml b/pom.xml index f64f4e6c..41490ef6 100644 --- a/pom.xml +++ b/pom.xml @@ -8,13 +8,13 @@ org.springframework.cloud spring-cloud-build - 2.0.0.RELEASE + 1.3.8.RELEASE org.springframework.cloud spring-cloud-alibaba - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT pom Spring Cloud Alibaba @@ -55,8 +55,8 @@ - 2.0.0.RELEASE - 2.0.0.RELEASE + 1.3.3.RELEASE + 1.4.4.RELEASE 4.12 3.0 @@ -64,7 +64,7 @@ - 3.7.0 + 3.5 2.8.2 2.21.0 1.6 @@ -107,9 +107,8 @@ ${maven-compiler-plugin.version} true - 1.8 - 1.8 - true + 1.7 + 1.7 diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 7639ee0b..dbde166c 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 2.0.0.RELEASE + 1.3.3.BUILD-SNAPSHOT spring-cloud-alibaba-dependencies - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT pom Spring Cloud Alibaba Dependencies Spring Cloud Alibaba Dependencies diff --git a/spring-cloud-alibaba-examples/pom.xml b/spring-cloud-alibaba-examples/pom.xml index 1fa113cc..ce3d001d 100644 --- a/spring-cloud-alibaba-examples/pom.xml +++ b/spring-cloud-alibaba-examples/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-examples/sentinel-example/pom.xml b/spring-cloud-alibaba-examples/sentinel-example/pom.xml index 6da7873c..f346de9d 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/pom.xml +++ b/spring-cloud-alibaba-examples/sentinel-example/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba-examples - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT 4.0.0 diff --git a/spring-cloud-alibaba-examples/sentinel-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/sentinel-example/src/main/resources/application.properties index 61ddbca7..252f0fdd 100644 --- a/spring-cloud-alibaba-examples/sentinel-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/sentinel-example/src/main/resources/application.properties @@ -1,5 +1,5 @@ spring.application.name=sentinel-example server.port=18083 -management.endpoints.web.exposure.include=* +management.security.enabled=false spring.cloud.sentinel.port=8721 spring.cloud.sentinel.dashboard=localhost:8080 \ No newline at end of file diff --git a/spring-cloud-alibaba-sentinel-autoconfigure/pom.xml b/spring-cloud-alibaba-sentinel-autoconfigure/pom.xml index 25c0ef21..33924b8a 100644 --- a/spring-cloud-alibaba-sentinel-autoconfigure/pom.xml +++ b/spring-cloud-alibaba-sentinel-autoconfigure/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT 4.0.0 @@ -39,13 +39,6 @@ true - - org.springframework.boot - spring-boot-actuator-autoconfigure - provided - true - - org.springframework.boot spring-boot-configuration-processor diff --git a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/SentinelWebAutoConfiguration.java b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/SentinelWebAutoConfiguration.java index 73795218..81528668 100644 --- a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/SentinelWebAutoConfiguration.java +++ b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/SentinelWebAutoConfiguration.java @@ -71,8 +71,8 @@ public class SentinelWebAutoConfiguration { @Bean @ConditionalOnWebApplication - public FilterRegistrationBean servletRequestListener() { - FilterRegistrationBean registration = new FilterRegistrationBean<>(); + public FilterRegistrationBean servletRequestListener() { + FilterRegistrationBean registration = new FilterRegistrationBean(); SentinelProperties.Filter filterConfig = properties.getFilter(); diff --git a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpoint.java b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpoint.java index 9a806ed0..2a71f0b5 100644 --- a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpoint.java +++ b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpoint.java @@ -27,21 +27,23 @@ import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager; import com.alibaba.csp.sentinel.slots.system.SystemRule; import com.alibaba.csp.sentinel.slots.system.SystemRuleManager; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; -import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; +import org.springframework.boot.actuate.endpoint.AbstractEndpoint; import org.springframework.cloud.alibaba.sentinel.SentinelProperties; /** * Endpoint for Sentinel, contains ans properties and rules * @author xiaojing */ -@Endpoint(id = "sentinel") -public class SentinelEndpoint { +public class SentinelEndpoint extends AbstractEndpoint> { @Autowired private SentinelProperties sentinelProperties; - @ReadOperation + public SentinelEndpoint() { + super("sentinel"); + } + + @Override public Map invoke() { Map result = new HashMap<>(); diff --git a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpointAutoConfiguration.java b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpointAutoConfiguration.java index 098822a2..728347b4 100644 --- a/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpointAutoConfiguration.java +++ b/spring-cloud-alibaba-sentinel-autoconfigure/src/main/java/org/springframework/cloud/alibaba/sentinel/endpoint/SentinelEndpointAutoConfiguration.java @@ -16,8 +16,8 @@ package org.springframework.cloud.alibaba.sentinel.endpoint; -import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; -import org.springframework.boot.actuate.endpoint.annotation.Endpoint; +import org.springframework.boot.actuate.condition.ConditionalOnEnabledEndpoint; +import org.springframework.boot.actuate.endpoint.Endpoint; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; @@ -33,7 +33,7 @@ public class SentinelEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - @ConditionalOnEnabledEndpoint + @ConditionalOnEnabledEndpoint("sentinel") public SentinelEndpoint sentinelEndPoint() { return new SentinelEndpoint(); } diff --git a/spring-cloud-alibaba-sentinel-autoconfigure/src/test/java/org/springframework/cloud/alibaba/sentinel/SentinelAutoConfigurationTests.java b/spring-cloud-alibaba-sentinel-autoconfigure/src/test/java/org/springframework/cloud/alibaba/sentinel/SentinelAutoConfigurationTests.java index 10608c53..46284a69 100644 --- a/spring-cloud-alibaba-sentinel-autoconfigure/src/test/java/org/springframework/cloud/alibaba/sentinel/SentinelAutoConfigurationTests.java +++ b/spring-cloud-alibaba-sentinel-autoconfigure/src/test/java/org/springframework/cloud/alibaba/sentinel/SentinelAutoConfigurationTests.java @@ -16,12 +16,14 @@ package org.springframework.cloud.alibaba.sentinel; +import org.junit.After; +import org.junit.Before; import org.junit.Test; -import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.test.context.runner.WebApplicationContextRunner; +import org.springframework.boot.test.util.EnvironmentTestUtils; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.cloud.alibaba.sentinel.custom.SentinelAspect; import org.springframework.cloud.alibaba.sentinel.custom.SentinelCustomAspectAutoConfiguration; +import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import static org.assertj.core.api.Assertions.assertThat; @@ -31,35 +33,42 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class SentinelAutoConfigurationTests { - private WebApplicationContextRunner contextRunner = new WebApplicationContextRunner() - .withConfiguration( - AutoConfigurations.of(SentinelCustomAspectAutoConfiguration.class, SentinelWebAutoConfiguration.class)) - .withPropertyValues("spring.cloud.sentinel.port=8888") - .withPropertyValues("spring.cloud.sentinel.filter.order=123") - .withPropertyValues("spring.cloud.sentinel.filter.urlPatterns=/*,/test"); + private final AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + + @Before + public void init() { + context.register(SentinelCustomAspectAutoConfiguration.class, SentinelWebAutoConfiguration.class); + EnvironmentTestUtils.addEnvironment(this.context, + "spring.cloud.sentinel.port=8888", + "spring.cloud.sentinel.filter.order=123", + "spring.cloud.sentinel.filter.urlPatterns=/*,/test"); + this.context.refresh(); + } + + @After + public void closeContext() { + this.context.close(); + } @Test public void testSentinelAspect() { - this.contextRunner.run(context -> assertThat(context).hasSingleBean(SentinelAspect.class)); + assertThat(context.getBean(SentinelAspect.class)).isNotNull(); } @Test public void testFilter() { - this.contextRunner.run(context -> { - assertThat(context.getBean( - "servletRequestListener").getClass() == FilterRegistrationBean.class).isTrue(); - }); + assertThat(context.getBean( + "servletRequestListener").getClass() == FilterRegistrationBean.class).isTrue(); } @Test public void testProperties() { - this.contextRunner.run(context -> { - SentinelProperties sentinelProperties = context.getBean(SentinelProperties.class); - assertThat(sentinelProperties.getPort()).isEqualTo("8888"); - assertThat(sentinelProperties.getFilter().getUrlPatterns().size()).isEqualTo(2); - assertThat(sentinelProperties.getFilter().getUrlPatterns().get(0)).isEqualTo("/*"); - assertThat(sentinelProperties.getFilter().getUrlPatterns().get(1)).isEqualTo("/test"); - }); + SentinelProperties sentinelProperties = context.getBean(SentinelProperties.class); + assertThat(sentinelProperties).isNotNull(); + assertThat(sentinelProperties.getPort()).isEqualTo("8888"); + assertThat(sentinelProperties.getFilter().getUrlPatterns().size()).isEqualTo(2); + assertThat(sentinelProperties.getFilter().getUrlPatterns().get(0)).isEqualTo("/*"); + assertThat(sentinelProperties.getFilter().getUrlPatterns().get(1)).isEqualTo("/test"); } diff --git a/spring-cloud-starter-sentinel/pom.xml b/spring-cloud-starter-sentinel/pom.xml index 5d9217e0..c5707b29 100644 --- a/spring-cloud-starter-sentinel/pom.xml +++ b/spring-cloud-starter-sentinel/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-alibaba - 0.2.0.BUILD-SNAPSHOT + 0.1.0.BUILD-SNAPSHOT spring-cloud-starter-sentinel Spring Cloud Starter Sentinel