1
0
mirror of https://gitee.com/mirrors/Spring-Cloud-Alibaba.git synced 2021-06-26 13:25:11 +08:00

bugfix: fix compatibility issues with 'seata-all-1.4.0'

This commit is contained in:
王良 2020-11-03 11:42:27 +08:00
parent 9abfee6737
commit fa49d5f03c

View File

@ -36,6 +36,7 @@ import io.seata.core.context.RootContext;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
@ -156,11 +157,15 @@ public class SeataHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy
public K call() throws Exception { public K call() throws Exception {
try { try {
RequestContextHolder.setRequestAttributes(requestAttributes); RequestContextHolder.setRequestAttributes(requestAttributes);
if (!StringUtils.isEmpty(xid)) {
RootContext.bind(xid); RootContext.bind(xid);
}
return actual.call(); return actual.call();
} }
finally { finally {
if (!StringUtils.isEmpty(xid)) {
RootContext.unbind(); RootContext.unbind();
}
RequestContextHolder.resetRequestAttributes(); RequestContextHolder.resetRequestAttributes();
} }
} }