diff --git a/pom.xml b/pom.xml
index 90fbb265f..13b06fdda 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
org.springframework.cloud
spring-cloud-build
- 2.2.3.RELEASE
+ 2.3.1.RELEASE
@@ -83,15 +83,15 @@
2.2.2-SNAPSHOT
- 2.2.2.RELEASE
- 2.2.2.RELEASE
- 2.2.2.RELEASE
- 2.2.1.RELEASE
- 2.2.2.RELEASE
+ 2.2.5.RELEASE
+ 2.2.5.RELEASE
+ 2.2.5.RELEASE
+ 2.2.3.RELEASE
+ 2.2.5.RELEASE
Horsham.SR3
- 2.2.2.RELEASE
- 2.2.2.RELEASE
- 2.2.1.RELEASE
+ 2.2.4.RELEASE
+ 2.2.5.RELEASE
+ 2.2.3.RELEASE
4.12
3.0
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java
index 429082184..833750d78 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosConfigEndpointAutoConfiguration.java
@@ -20,7 +20,7 @@ import com.alibaba.cloud.nacos.NacosConfigManager;
import com.alibaba.cloud.nacos.refresh.NacosRefreshHistory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
+import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -44,7 +44,7 @@ public class NacosConfigEndpointAutoConfiguration {
private NacosRefreshHistory nacosRefreshHistory;
@ConditionalOnMissingBean
- @ConditionalOnEnabledEndpoint
+ @ConditionalOnAvailableEndpoint
@Bean
public NacosConfigEndpoint nacosConfigEndpoint() {
return new NacosConfigEndpoint(nacosConfigManager.getNacosConfigProperties(),
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java
index ede3cb4b1..fea6db7b6 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/endpoint/NacosDiscoveryEndpointAutoConfiguration.java
@@ -23,7 +23,7 @@ import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.cloud.nacos.discovery.actuate.health.NacosDiscoveryHealthIndicator;
-import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
+import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.health.HealthIndicator;
@@ -45,7 +45,7 @@ public class NacosDiscoveryEndpointAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- @ConditionalOnEnabledEndpoint
+ @ConditionalOnAvailableEndpoint
public NacosDiscoveryEndpoint nacosDiscoveryEndpoint(
NacosServiceManager nacosServiceManager,
NacosDiscoveryProperties nacosDiscoveryProperties) {
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java
index dcc0b28c0..86d331b05 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-seata/src/main/java/com/alibaba/cloud/seata/web/SeataHandlerInterceptor.java
@@ -19,11 +19,11 @@ package com.alibaba.cloud.seata.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import io.seata.common.util.StringUtils;
import io.seata.core.context.RootContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor;
/**
@@ -41,45 +41,45 @@ public class SeataHandlerInterceptor implements HandlerInterceptor {
.getLogger(SeataHandlerInterceptor.class);
@Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
- Object handler) {
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
+ String xid = RootContext.getXID();
+ String rpcXid = request.getHeader(RootContext.KEY_XID);
+ if (log.isDebugEnabled()) {
+ log.debug("xid in RootContext {} xid in RpcContext {}", xid, rpcXid);
+ }
- String xid = RootContext.getXID();
- String rpcXid = request.getHeader(RootContext.KEY_XID);
- if (log.isDebugEnabled()) {
- log.debug("xid in RootContext {} xid in RpcContext {}", xid, rpcXid);
- }
+ if (StringUtils.isBlank(xid) && rpcXid != null) {
+ RootContext.bind(rpcXid);
+ if (log.isDebugEnabled()) {
+ log.debug("bind {} to RootContext", rpcXid);
+ }
+ }
- if (xid == null && rpcXid != null) {
- RootContext.bind(rpcXid);
- if (log.isDebugEnabled()) {
- log.debug("bind {} to RootContext", rpcXid);
- }
- }
- return true;
- }
+ return true;
+ }
- @Override
- public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
- Object handler, Exception e) {
- String rpcXid = request.getHeader(RootContext.KEY_XID);
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception e) {
+ if (StringUtils.isNotBlank(RootContext.getXID())) {
+ String rpcXid = request.getHeader(RootContext.KEY_XID);
- if (StringUtils.isEmpty(rpcXid)) {
- return;
- }
+ if (StringUtils.isEmpty(rpcXid)) {
+ return;
+ }
- String unbindXid = RootContext.unbind();
- if (log.isDebugEnabled()) {
- log.debug("unbind {} from RootContext", unbindXid);
- }
- if (!rpcXid.equalsIgnoreCase(unbindXid)) {
- log.warn("xid in change during RPC from {} to {}", rpcXid, unbindXid);
- if (unbindXid != null) {
- RootContext.bind(unbindXid);
- log.warn("bind {} back to RootContext", unbindXid);
- }
- }
- }
+ String unbindXid = RootContext.unbind();
+ if (log.isDebugEnabled()) {
+ log.debug("unbind {} from RootContext", unbindXid);
+ }
+ if (!rpcXid.equalsIgnoreCase(unbindXid)) {
+ log.warn("xid in change during RPC from {} to {}", rpcXid, unbindXid);
+ if (unbindXid != null) {
+ RootContext.bind(unbindXid);
+ log.warn("bind {} back to RootContext", unbindXid);
+ }
+ }
+ }
+ }
}
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java
index caa5afd2f..5f7de0f75 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-sentinel/src/main/java/com/alibaba/cloud/sentinel/endpoint/SentinelEndpointAutoConfiguration.java
@@ -19,7 +19,7 @@ package com.alibaba.cloud.sentinel.endpoint;
import com.alibaba.cloud.sentinel.SentinelProperties;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
-import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
+import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -36,7 +36,7 @@ public class SentinelEndpointAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- @ConditionalOnEnabledEndpoint
+ @ConditionalOnAvailableEndpoint
public SentinelEndpoint sentinelEndPoint(SentinelProperties sentinelProperties) {
return new SentinelEndpoint(sentinelProperties);
}
diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java
index d260f5d1d..bfcc87c72 100644
--- a/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java
+++ b/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/actuate/DubboMetadataEndpointAutoConfiguration.java
@@ -18,7 +18,7 @@ package com.alibaba.cloud.dubbo.actuate;
import com.alibaba.cloud.dubbo.actuate.endpoint.DubboRestMetadataEndpoint;
-import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
+import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -39,7 +39,7 @@ public class DubboMetadataEndpointAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- @ConditionalOnEnabledEndpoint
+ @ConditionalOnAvailableEndpoint
public DubboRestMetadataEndpoint dubboRestMetadataEndpoint() {
return new DubboRestMetadataEndpoint();
}