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