bug #I8Y0X4 并行循环中有可能导致的ConditionStack的并发问题

This commit is contained in:
everywhere.z
2024-01-22 16:16:11 +08:00
parent dd9d2014be
commit 1fb4f99028

View File

@@ -11,6 +11,7 @@ import cn.hutool.core.collection.ConcurrentHashSet;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.ttl.TransmittableThreadLocal;
import com.yomahub.liteflow.exception.NoSuchContextBeanException;
import com.yomahub.liteflow.exception.NullParamException;
import com.yomahub.liteflow.flow.element.Condition;
@@ -92,7 +93,7 @@ public class Slot {
private List<Object> contextBeanList;
private static final ThreadLocal<Deque<Condition>> conditionStack = ThreadLocal.withInitial(LinkedList::new);
private static final TransmittableThreadLocal<Deque<Condition>> conditionStack = TransmittableThreadLocal.withInitial(ConcurrentLinkedDeque::new);
public Slot() {
}