From a25caeff0156ee107c315480dfd34f2a38f55cd0 Mon Sep 17 00:00:00 2001 From: lengleng Date: Tue, 29 Dec 2020 16:47:24 +0800 Subject: [PATCH] :arrow_up: Upgrading dependencies. spring cloud 2020 --- .../data/cache/DefaultRedisCacheWriter.java | 16 ++++++++++++++++ pigx-common/pigx-common-feign/pom.xml | 5 +++++ .../annotation/EnablePigxFeignClients.java | 10 +++++++++- pigx-common/pigx-common-gateway/pom.xml | 3 ++- .../GrayLoadBalancerClientConfiguration.java | 8 +++++--- .../GrayReactiveLoadBalancerClientFilter.java | 19 +++++++++++++------ pigx-common/pigx-common-gray/pom.xml | 5 +++++ pigx-common/pigx-common-security/pom.xml | 6 +++--- ...urceServerTokenRelayAutoConfiguration.java | 2 +- .../PigxFeignClientInterceptor.java | 4 ++-- .../interceptor/PigxFeignConfiguration.java | 2 +- pigx-common/pigx-common-sentinel/pom.xml | 5 +++++ .../sentinel/feign/PigxSentinelFeign.java | 2 +- .../feign/PigxSentinelInvocationHandler.java | 2 +- pigx-common/pigx-common-swagger/pom.xml | 10 +++++----- pigx-visual/pigx-sso-client-demo/pom.xml | 5 +---- pom.xml | 6 +++--- 17 files changed, 78 insertions(+), 32 deletions(-) diff --git a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java index 8152f6564..b6ba9ec75 100644 --- a/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java +++ b/pigx-common/pigx-common-data/src/main/java/com/pig4cloud/pigx/common/data/cache/DefaultRedisCacheWriter.java @@ -18,6 +18,8 @@ package com.pig4cloud.pigx.common.data.cache; import org.springframework.dao.PessimisticLockingFailureException; +import org.springframework.data.redis.cache.CacheStatistics; +import org.springframework.data.redis.cache.CacheStatisticsCollector; import org.springframework.data.redis.cache.RedisCacheWriter; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; @@ -184,6 +186,16 @@ class DefaultRedisCacheWriter implements RedisCacheWriter { }); } + @Override + public void clearStatistics(String s) { + + } + + @Override + public RedisCacheWriter withStatisticsCollector(CacheStatisticsCollector cacheStatisticsCollector) { + return null; + } + /** * Explicitly set a write lock on a cache. * @param name the name of the cache to lock. @@ -274,4 +286,8 @@ class DefaultRedisCacheWriter implements RedisCacheWriter { return (name + "~lock").getBytes(StandardCharsets.UTF_8); } + @Override + public CacheStatistics getCacheStatistics(String s) { + return null; + } } diff --git a/pigx-common/pigx-common-feign/pom.xml b/pigx-common/pigx-common-feign/pom.xml index 26da99fe2..097dab123 100755 --- a/pigx-common/pigx-common-feign/pom.xml +++ b/pigx-common/pigx-common-feign/pom.xml @@ -23,5 +23,10 @@ io.github.openfeign feign-okhttp + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + diff --git a/pigx-common/pigx-common-feign/src/main/java/com/pig4cloud/pigx/common/feign/annotation/EnablePigxFeignClients.java b/pigx-common/pigx-common-feign/src/main/java/com/pig4cloud/pigx/common/feign/annotation/EnablePigxFeignClients.java index 86fc3a8bb..c153fc3a8 100644 --- a/pigx-common/pigx-common-feign/src/main/java/com/pig4cloud/pigx/common/feign/annotation/EnablePigxFeignClients.java +++ b/pigx-common/pigx-common-feign/src/main/java/com/pig4cloud/pigx/common/feign/annotation/EnablePigxFeignClients.java @@ -17,6 +17,7 @@ package com.pig4cloud.pigx.common.feign.annotation; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.PigxFeignClientsRegistrar; import org.springframework.context.annotation.Import; @@ -32,12 +33,16 @@ import java.lang.annotation.*; @Documented @EnableFeignClients @Import(PigxFeignClientsRegistrar.class) +// 排除 Ribbon (当然也可以排查 maven 依赖) +@EnableAutoConfiguration(excludeName = + "org.springframework.cloud.netflix.ribbon.RibbonAutoConfiguration") public @interface EnablePigxFeignClients { /** * Alias for the {@link #basePackages()} attribute. Allows for more concise annotation * declarations e.g.: {@code @ComponentScan("org.my.pkg")} instead of * {@code @ComponentScan(basePackages="org.my.pkg")}. + * * @return the array of 'basePackages'. */ String[] value() default {}; @@ -49,9 +54,10 @@ public @interface EnablePigxFeignClients { *

* Use {@link #basePackageClasses()} for a type-safe alternative to String-based * package names. + * * @return the array of 'basePackages'. */ - String[] basePackages() default { "com.pig4cloud.pigx" }; + String[] basePackages() default {"com.pig4cloud.pigx"}; /** * Type-safe alternative to {@link #basePackages()} for specifying the packages to @@ -59,6 +65,7 @@ public @interface EnablePigxFeignClients { *

* Consider creating a special no-op marker class or interface in each package that * serves no purpose other than being referenced by this attribute. + * * @return the array of 'basePackageClasses'. */ Class[] basePackageClasses() default {}; @@ -75,6 +82,7 @@ public @interface EnablePigxFeignClients { /** * List of classes annotated with @FeignClient. If not empty, disables classpath * scanning. + * * @return */ Class[] clients() default {}; diff --git a/pigx-common/pigx-common-gateway/pom.xml b/pigx-common/pigx-common-gateway/pom.xml index 4392d889b..e425b3c7f 100644 --- a/pigx-common/pigx-common-gateway/pom.xml +++ b/pigx-common/pigx-common-gateway/pom.xml @@ -37,9 +37,10 @@ com.pig4cloud pigx-common-core + org.springframework.cloud - spring-cloud-gateway-core + spring-cloud-gateway-server org.springframework.boot diff --git a/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/configuration/GrayLoadBalancerClientConfiguration.java b/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/configuration/GrayLoadBalancerClientConfiguration.java index a33e65f6f..bd2ddb7e4 100755 --- a/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/configuration/GrayLoadBalancerClientConfiguration.java +++ b/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/configuration/GrayLoadBalancerClientConfiguration.java @@ -25,8 +25,9 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.loadbalancer.LoadBalancerProperties; +import org.springframework.cloud.gateway.config.GatewayLoadBalancerProperties; import org.springframework.cloud.gateway.config.GatewayReactiveLoadBalancerClientAutoConfiguration; -import org.springframework.cloud.gateway.config.LoadBalancerProperties; import org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -46,8 +47,9 @@ public class GrayLoadBalancerClientConfiguration { @Bean public ReactiveLoadBalancerClientFilter gatewayLoadBalancerClientFilter(GrayLoadBalancer grayLoadBalancer, - LoadBalancerProperties properties) { - return new GrayReactiveLoadBalancerClientFilter(properties, grayLoadBalancer); + LoadBalancerProperties properties, + GatewayLoadBalancerProperties loadBalancerProperties) { + return new GrayReactiveLoadBalancerClientFilter(loadBalancerProperties, properties, grayLoadBalancer); } @Bean diff --git a/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/filter/GrayReactiveLoadBalancerClientFilter.java b/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/filter/GrayReactiveLoadBalancerClientFilter.java index 1110e4575..137809481 100644 --- a/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/filter/GrayReactiveLoadBalancerClientFilter.java +++ b/pigx-common/pigx-common-gateway/src/main/java/com/pig4cloud/pigx/common/gateway/filter/GrayReactiveLoadBalancerClientFilter.java @@ -20,10 +20,11 @@ package com.pig4cloud.pigx.common.gateway.filter; import com.pig4cloud.pigx.common.gateway.rule.GrayLoadBalancer; import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.loadbalancer.DefaultResponse; +import org.springframework.cloud.client.loadbalancer.LoadBalancerProperties; import org.springframework.cloud.client.loadbalancer.LoadBalancerUriTools; -import org.springframework.cloud.client.loadbalancer.reactive.DefaultResponse; -import org.springframework.cloud.client.loadbalancer.reactive.Response; -import org.springframework.cloud.gateway.config.LoadBalancerProperties; +import org.springframework.cloud.client.loadbalancer.Response; +import org.springframework.cloud.gateway.config.GatewayLoadBalancerProperties; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.ReactiveLoadBalancerClientFilter; import org.springframework.cloud.gateway.support.DelegatingServiceInstance; @@ -43,14 +44,19 @@ public class GrayReactiveLoadBalancerClientFilter extends ReactiveLoadBalancerCl private static final int LOAD_BALANCER_CLIENT_FILTER_ORDER = 10150; + private GatewayLoadBalancerProperties loadBalancerProperties; + private LoadBalancerProperties properties; private GrayLoadBalancer grayLoadBalancer; - public GrayReactiveLoadBalancerClientFilter(LoadBalancerProperties properties, GrayLoadBalancer grayLoadBalancer) { - super(null, properties); + + public GrayReactiveLoadBalancerClientFilter(GatewayLoadBalancerProperties loadBalancerProperties + , LoadBalancerProperties properties, GrayLoadBalancer grayLoadBalancer) { + super(null, loadBalancerProperties, properties); this.properties = properties; this.grayLoadBalancer = grayLoadBalancer; + this.loadBalancerProperties = loadBalancerProperties; } @Override @@ -75,7 +81,8 @@ public class GrayReactiveLoadBalancerClientFilter extends ReactiveLoadBalancerCl return choose(exchange).doOnNext(response -> { if (!response.hasServer()) { - throw NotFoundException.create(properties.isUse404(), "Unable to find instance for " + url.getHost()); + throw NotFoundException.create(loadBalancerProperties.isUse404() + , "Unable to find instance for " + url.getHost()); } URI uri = exchange.getRequest().getURI(); diff --git a/pigx-common/pigx-common-gray/pom.xml b/pigx-common/pigx-common-gray/pom.xml index 329c38ae5..ae6d1ec85 100644 --- a/pigx-common/pigx-common-gray/pom.xml +++ b/pigx-common/pigx-common-gray/pom.xml @@ -37,6 +37,11 @@ com.pig4cloud pigx-common-core + + + org.springframework.cloud + spring-cloud-starter-loadbalancer + com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery diff --git a/pigx-common/pigx-common-security/pom.xml b/pigx-common/pigx-common-security/pom.xml index 934f356f3..426110b67 100644 --- a/pigx-common/pigx-common-security/pom.xml +++ b/pigx-common/pigx-common-security/pom.xml @@ -38,10 +38,10 @@ com.pig4cloud pigx-common-core - + - org.springframework.cloud - spring-cloud-starter-oauth2 + org.springframework.security.oauth.boot + spring-security-oauth2-autoconfigure diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java index b952e310b..e39582e0a 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java @@ -24,7 +24,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.security.oauth2.OAuth2AutoConfiguration; -import org.springframework.cloud.security.oauth2.client.AccessTokenContextRelay; +import org.springframework.cloud.commons.security.AccessTokenContextRelay; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignClientInterceptor.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignClientInterceptor.java index 4eae454c1..91b3b9869 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignClientInterceptor.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignClientInterceptor.java @@ -21,8 +21,8 @@ import cn.hutool.core.collection.CollUtil; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import feign.RequestTemplate; import lombok.extern.slf4j.Slf4j; -import org.springframework.cloud.security.oauth2.client.AccessTokenContextRelay; -import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor; +import org.springframework.cloud.commons.security.AccessTokenContextRelay; +import org.springframework.cloud.openfeign.security.OAuth2FeignRequestInterceptor; import org.springframework.security.oauth2.client.OAuth2ClientContext; import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails; diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignConfiguration.java index aba968279..984d5ed1f 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/interceptor/PigxFeignConfiguration.java @@ -21,7 +21,7 @@ import feign.Feign; import feign.RequestInterceptor; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.security.oauth2.client.AccessTokenContextRelay; +import org.springframework.cloud.commons.security.AccessTokenContextRelay; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.oauth2.client.OAuth2ClientContext; diff --git a/pigx-common/pigx-common-sentinel/pom.xml b/pigx-common/pigx-common-sentinel/pom.xml index e2a4764c7..789c9c2bc 100755 --- a/pigx-common/pigx-common-sentinel/pom.xml +++ b/pigx-common/pigx-common-sentinel/pom.xml @@ -26,6 +26,11 @@ org.springframework.cloud spring-cloud-starter-openfeign + + + io.github.openfeign + feign-okhttp + org.springframework.security diff --git a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelFeign.java b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelFeign.java index 4ce9ec894..79c1ffd68 100644 --- a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelFeign.java +++ b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelFeign.java @@ -5,8 +5,8 @@ import feign.Contract; import feign.Feign; import feign.InvocationHandlerFactory; import feign.Target; -import feign.hystrix.FallbackFactory; import org.springframework.beans.BeansException; +import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.cloud.openfeign.FeignContext; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; diff --git a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java index 76c9236b8..e4c67e29b 100644 --- a/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java +++ b/pigx-common/pigx-common-sentinel/src/main/java/com/pig4cloud/pigx/common/sentinel/feign/PigxSentinelInvocationHandler.java @@ -13,8 +13,8 @@ import feign.Feign; import feign.InvocationHandlerFactory; import feign.MethodMetadata; import feign.Target; -import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; +import org.springframework.cloud.openfeign.FallbackFactory; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; diff --git a/pigx-common/pigx-common-swagger/pom.xml b/pigx-common/pigx-common-swagger/pom.xml index a44611ecb..14367c168 100644 --- a/pigx-common/pigx-common-swagger/pom.xml +++ b/pigx-common/pigx-common-swagger/pom.xml @@ -70,13 +70,13 @@ org.springframework.cloud - spring-cloud-gateway-core + spring-cloud-gateway-server provided - - org.springframework.cloud - spring-cloud-commons - + org.springframework.cloud + spring-cloud-commons + provided + diff --git a/pigx-visual/pigx-sso-client-demo/pom.xml b/pigx-visual/pigx-sso-client-demo/pom.xml index 6aee27e74..3d8c4ec41 100644 --- a/pigx-visual/pigx-sso-client-demo/pom.xml +++ b/pigx-visual/pigx-sso-client-demo/pom.xml @@ -33,10 +33,7 @@ - - org.springframework.cloud - spring-cloud-starter-security - + org.springframework.security.oauth.boot spring-security-oauth2-autoconfigure diff --git a/pom.xml b/pom.xml index 764276976..b18f0c081 100644 --- a/pom.xml +++ b/pom.xml @@ -33,8 +33,8 @@ - 2.3.6.RELEASE - Hoxton.SR9 + 2.4.1 + 2020.0.0 2.2.3.RELEASE UTF-8 1.8 @@ -43,7 +43,7 @@ 0.0.23 2.2.5 2.3.0 - 5.5.1 + 5.5.5 1.2.4 3.0.0 2.0.8