Commit 406084b7 by Nepxion

增加alibaba transmittable-thread-local

parent 0e435533
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId> <artifactId>spring-cloud-starter-gateway</artifactId>
</dependency> </dependency>
......
...@@ -15,8 +15,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder; ...@@ -15,8 +15,10 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.ServerWebExchange;
import com.alibaba.ttl.TransmittableThreadLocal;
public class GatewayStrategyContext { public class GatewayStrategyContext {
private static final ThreadLocal<GatewayStrategyContext> THREAD_LOCAL = new ThreadLocal<GatewayStrategyContext>() { private static final ThreadLocal<GatewayStrategyContext> THREAD_LOCAL = new TransmittableThreadLocal<GatewayStrategyContext>() {
@Override @Override
protected GatewayStrategyContext initialValue() { protected GatewayStrategyContext initialValue() {
return new GatewayStrategyContext(); return new GatewayStrategyContext();
......
...@@ -9,23 +9,10 @@ package com.nepxion.discovery.plugin.strategy.gateway.context; ...@@ -9,23 +9,10 @@ package com.nepxion.discovery.plugin.strategy.gateway.context;
* @version 1.0 * @version 1.0
*/ */
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.web.server.ServerWebExchange; import org.springframework.web.server.ServerWebExchange;
import com.nepxion.discovery.plugin.strategy.constant.StrategyConstant;
public class GatewayStrategyContextHolder { public class GatewayStrategyContextHolder {
@Autowired
private ConfigurableEnvironment environment;
public ServerWebExchange getExchange() { public ServerWebExchange getExchange() {
Boolean hystrixThreadlocalSupported = environment.getProperty(StrategyConstant.SPRING_APPLICATION_STRATEGY_HYSTRIX_THREADLOCAL_SUPPORTED, Boolean.class, Boolean.FALSE); return GatewayStrategyContext.getCurrentContext().getExchange();
if (hystrixThreadlocalSupported) {
// 待实现:Spring Cloud Gateway网关端使用Hystrix做线程模式的服务隔离时,实现服务灰度路由的功能
return GatewayStrategyContext.getCurrentContext().getExchange();
} else {
return GatewayStrategyContext.getCurrentContext().getExchange();
}
} }
} }
\ No newline at end of file
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
<nacos.version>1.0.0</nacos.version> <nacos.version>1.0.0</nacos.version>
<guava.version>27.0-jre</guava.version> <guava.version>27.0-jre</guava.version>
<caffeine.version>2.6.2</caffeine.version> <caffeine.version>2.6.2</caffeine.version>
<transmittable.thread.local.version>2.10.2</transmittable.thread.local.version>
<swagger.version>2.7.0</swagger.version> <swagger.version>2.7.0</swagger.version>
<spring.cloud.version>Finchley.SR3</spring.cloud.version> <spring.cloud.version>Finchley.SR3</spring.cloud.version>
<spring.cloud.alibaba.version>0.2.2.RELEASE</spring.cloud.alibaba.version> <spring.cloud.alibaba.version>0.2.2.RELEASE</spring.cloud.alibaba.version>
...@@ -281,6 +282,12 @@ ...@@ -281,6 +282,12 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>${transmittable.thread.local.version}</version>
</dependency>
<dependency>
<groupId>dom4j</groupId> <groupId>dom4j</groupId>
<artifactId>dom4j</artifactId> <artifactId>dom4j</artifactId>
<version>${dom4j.version}</version> <version>${dom4j.version}</version>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment