diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/WebUtils.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/WebUtils.java
index ba927567e..7b6817a83 100644
--- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/WebUtils.java
+++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/util/WebUtils.java
@@ -31,6 +31,7 @@ import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.method.HandlerMethod;
@@ -123,7 +124,8 @@ public class WebUtils extends org.springframework.web.util.WebUtils {
*/
public HttpServletRequest getRequest() {
try {
- return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes();
+ return ((ServletRequestAttributes) requestAttributes).getRequest();
} catch (IllegalStateException e) {
return null;
}
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 c160cfc82..93c68f69d 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
@@ -22,6 +22,7 @@ import com.pig4cloud.pigx.common.gateway.rule.VersionGrayLoadBalancer;
import com.pig4cloud.pigx.common.gateway.filter.GrayReactiveLoadBalancerClientFilter;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
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.gateway.config.GatewayReactiveLoadBalancerClientAutoConfiguration;
@@ -40,6 +41,7 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties(LoadBalancerProperties.class)
@ConditionalOnProperty(value = "gray.rule.enabled", havingValue = "true")
@AutoConfigureBefore(GatewayReactiveLoadBalancerClientAutoConfiguration.class)
+@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
public class GrayLoadBalancerClientConfiguration {
@Bean
diff --git a/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/GrayRibbonLoadBalancerConfiguration.java b/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/GrayRibbonLoadBalancerConfiguration.java
index bae8ca647..5d686f858 100644
--- a/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/GrayRibbonLoadBalancerConfiguration.java
+++ b/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/GrayRibbonLoadBalancerConfiguration.java
@@ -20,9 +20,12 @@ package com.pig4cloud.pigx.common.gray;
import com.pig4cloud.pigx.common.gray.feign.GrayFeignRequestInterceptor;
import com.pig4cloud.pigx.common.gray.rule.GrayRibbonLoadBalancerRule;
import feign.RequestInterceptor;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
/**
* @author lengleng
@@ -31,13 +34,16 @@ import org.springframework.context.annotation.Configuration;
@Configuration
@ConditionalOnProperty(value = "gray.rule.enabled", havingValue = "true")
public class GrayRibbonLoadBalancerConfiguration {
+
@Bean
+ @ConditionalOnMissingBean
+ @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public GrayRibbonLoadBalancerRule ribbonLoadBalancerRule() {
return new GrayRibbonLoadBalancerRule();
}
@Bean
- public RequestInterceptor pigxFeignTenantInterceptor() {
+ public RequestInterceptor grayFeignRequestInterceptor() {
return new GrayFeignRequestInterceptor();
}
}
diff --git a/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/rule/GrayRibbonLoadBalancerRule.java b/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/rule/GrayRibbonLoadBalancerRule.java
index 5d71c22fc..a4c553515 100644
--- a/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/rule/GrayRibbonLoadBalancerRule.java
+++ b/pigx-common/pigx-common-gray/src/main/java/com/pig4cloud/pigx/common/gray/rule/GrayRibbonLoadBalancerRule.java
@@ -41,7 +41,6 @@ import java.util.Map;
public class GrayRibbonLoadBalancerRule extends AbstractLoadBalancerRule {
@Override
public void initWithNiwsConfig(IClientConfig iClientConfig) {
-
}
@Override
diff --git a/pigx-gateway/pom.xml b/pigx-gateway/pom.xml
index 20110e78a..c97f8f620 100644
--- a/pigx-gateway/pom.xml
+++ b/pigx-gateway/pom.xml
@@ -47,10 +47,6 @@
com.pig4cloud
pigx-common-gateway
-
- com.pig4cloud
- pigx-common-gray
-
com.alibaba.cloud
diff --git a/pigx-upms/pigx-upms-biz/pom.xml b/pigx-upms/pigx-upms-biz/pom.xml
index 1c2ef5853..431898c68 100644
--- a/pigx-upms/pigx-upms-biz/pom.xml
+++ b/pigx-upms/pigx-upms-biz/pom.xml
@@ -82,6 +82,11 @@
com.pig4cloud
pigx-common-sentinel
+
+
+ com.pig4cloud
+ pigx-common-gray
+
com.baomidou
diff --git a/pigx-visual/pigx-codegen/pom.xml b/pigx-visual/pigx-codegen/pom.xml
index bf3b97f7d..923e0850b 100755
--- a/pigx-visual/pigx-codegen/pom.xml
+++ b/pigx-visual/pigx-codegen/pom.xml
@@ -63,6 +63,11 @@
com.pig4cloud
pigx-common-log
+
+
+ com.pig4cloud
+ pigx-common-gray
+
velocity
diff --git a/pigx-visual/pigx-daemon-elastic-job/pom.xml b/pigx-visual/pigx-daemon-elastic-job/pom.xml
index 8770bd1d6..054d7e5f4 100644
--- a/pigx-visual/pigx-daemon-elastic-job/pom.xml
+++ b/pigx-visual/pigx-daemon-elastic-job/pom.xml
@@ -86,6 +86,11 @@
com.pig4cloud
pigx-common-security
+
+
+ com.pig4cloud
+ pigx-common-gray
+
org.springframework.boot
diff --git a/pigx-visual/pigx-daemon-quartz/pom.xml b/pigx-visual/pigx-daemon-quartz/pom.xml
index b892ca3d4..d04cce9ee 100644
--- a/pigx-visual/pigx-daemon-quartz/pom.xml
+++ b/pigx-visual/pigx-daemon-quartz/pom.xml
@@ -59,6 +59,11 @@
com.pig4cloud
pigx-common-security
+
+
+ com.pig4cloud
+ pigx-common-gray
+
org.springframework.boot
diff --git a/pigx-visual/pigx-mp-platform/pom.xml b/pigx-visual/pigx-mp-platform/pom.xml
index f0bb1e35f..16d92498a 100755
--- a/pigx-visual/pigx-mp-platform/pom.xml
+++ b/pigx-visual/pigx-mp-platform/pom.xml
@@ -63,6 +63,11 @@
com.pig4cloud
pigx-common-log
+
+
+ com.pig4cloud
+ pigx-common-gray
+
com.github.binarywang
diff --git a/pigx-visual/pigx-oa-platform/pom.xml b/pigx-visual/pigx-oa-platform/pom.xml
index d678e33f5..89c02b71f 100644
--- a/pigx-visual/pigx-oa-platform/pom.xml
+++ b/pigx-visual/pigx-oa-platform/pom.xml
@@ -56,6 +56,11 @@
com.pig4cloud
pigx-upms-api
+
+
+ com.pig4cloud
+ pigx-common-gray
+
com.baomidou
diff --git a/pigx-visual/pigx-pay-platform/pom.xml b/pigx-visual/pigx-pay-platform/pom.xml
index 05b9d3479..9f80dafe9 100755
--- a/pigx-visual/pigx-pay-platform/pom.xml
+++ b/pigx-visual/pigx-pay-platform/pom.xml
@@ -48,6 +48,11 @@
com.pig4cloud
pigx-common-sequence
+
+
+ com.pig4cloud
+ pigx-common-gray
+
com.pig4cloud