From d1be7b91d99e270173a37c3b71c3ab10144646f1 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sat, 18 Sep 2021 10:51:22 +0800 Subject: [PATCH] expt: fix #293 --- src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java b/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java index d062504af..9957de03e 100644 --- a/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java +++ b/src/main/java/com/alibaba/ttl/TransmittableThreadLocal.java @@ -227,7 +227,8 @@ private void removeThisFromHolder() { } private static void doExecuteCallback(boolean isBefore) { - for (TransmittableThreadLocal threadLocal : holder.get().keySet()) { + WeakHashMap, ?> h = new WeakHashMap, Object>(holder.get()); + for (TransmittableThreadLocal threadLocal : h.keySet()) { try { if (isBefore) threadLocal.beforeExecute(); else threadLocal.afterExecute();