diff --git a/trpc-core/src/main/java/org/slf4j/TrpcMDCAdapter.java b/trpc-core/src/main/java/org/slf4j/TrpcMDCAdapter.java index a93137b7ef..00ca8d4166 100644 --- a/trpc-core/src/main/java/org/slf4j/TrpcMDCAdapter.java +++ b/trpc-core/src/main/java/org/slf4j/TrpcMDCAdapter.java @@ -13,11 +13,13 @@ import com.alibaba.ttl.TransmittableThreadLocal; import com.tencent.trpc.core.utils.StringUtils; +import java.util.Deque; import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; +import org.slf4j.helpers.ThreadLocalMapOfStacks; import org.slf4j.spi.MDCAdapter; /** @@ -39,6 +41,7 @@ public class TrpcMDCAdapter implements MDCAdapter { private static final TrpcMDCAdapter mtcMDCAdapter; private final ThreadLocal> copyOnInheritThreadLocal = new TransmittableThreadLocal<>(); + private final ThreadLocalMapOfStacks threadLocalMapOfDeques = new ThreadLocalMapOfStacks(); /** * Keeps track of the last operation performed @@ -141,6 +144,22 @@ public Map getCopyOfContextMap() { .map(HashMap::new).orElse(null); } + public void pushByKey(String key, String value) { + this.threadLocalMapOfDeques.pushByKey(key, value); + } + + public String popByKey(String key) { + return this.threadLocalMapOfDeques.popByKey(key); + } + + public Deque getCopyOfDequeByKey(String key) { + return this.threadLocalMapOfDeques.getCopyOfDequeByKey(key); + } + + public void clearDequeByKey(String key) { + this.threadLocalMapOfDeques.clearDequeByKey(key); + } + @SuppressWarnings("unchecked") @Override public void setContextMap(Map contextMap) { diff --git a/trpc-dependencies/trpc-dependencies-bom/pom.xml b/trpc-dependencies/trpc-dependencies-bom/pom.xml index 3f56ee9532..85dad9b674 100644 --- a/trpc-dependencies/trpc-dependencies-bom/pom.xml +++ b/trpc-dependencies/trpc-dependencies-bom/pom.xml @@ -62,9 +62,9 @@ 3.28.0-GA 3.1.0 3.0.2 - 1.2.13 - 2.17.1 - 1.3.3 + 1.5.15 + 2.24.3 + 1.4.0 3.1.0 3.0.0 3.0.1 @@ -94,7 +94,7 @@ 5.0.6.Final 1.8.6 1.8.6 - 1.7.36 + 2.0.16 2.0 1.1.10.4 5.3.27