diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java index 71caefbd8..ec0977f81 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/NodeComponent.java @@ -34,7 +34,7 @@ import java.util.Map; * 普通组件抽象类 * @author Bryan.Zhang */ -public abstract class NodeComponent { +public abstract class NodeComponent{ private static final Logger LOG = LoggerFactory.getLogger(NodeComponent.class); @@ -43,14 +43,14 @@ public abstract class NodeComponent { @Autowired(required = false) private MonitorBus monitorBus; + private final TransmittableThreadLocal tagTL = new TransmittableThreadLocal<>(); + + private final TransmittableThreadLocal> condNodeMapTL = new TransmittableThreadLocal<>(); + private String nodeId; private String name; - private String tag; - - private Map condNodeMap; - private NodeTypeEnum type; //这是自己的实例,取代this @@ -89,7 +89,7 @@ public abstract class NodeComponent { if (this instanceof NodeCondComponent) { String condNodeId = slot.getCondResult(this.getClass().getName()); if (StrUtil.isNotBlank(condNodeId)) { - Executable condExecutor = condNodeMap.get(condNodeId); + Executable condExecutor = this.condNodeMapTL.get().get(condNodeId); if (ObjectUtil.isNotNull(condExecutor)) { condExecutor.execute(slotIndexTL.get()); } @@ -231,19 +231,15 @@ public abstract class NodeComponent { this.retryForExceptions = retryForExceptions; } - public String getTag() { - return tag; + public void setTag(String tag){ + this.tagTL.set(tag); } - public void setTag(String tag) { - this.tag = tag; + public String getTag(){ + return this.tagTL.get(); } - public Map getCondNodeMap() { - return condNodeMap; - } - - public void setCondNodeMap(Map condNodeMap) { - this.condNodeMap = condNodeMap; + public void setCondNodeMap(Map condNodeMap){ + this.condNodeMapTL.set(condNodeMap); } } diff --git a/liteflow-testcase-springboot/src/test/resources/tag/flow.xml b/liteflow-testcase-springboot/src/test/resources/tag/flow.xml index 9ecf26cff..496a462c0 100644 --- a/liteflow-testcase-springboot/src/test/resources/tag/flow.xml +++ b/liteflow-testcase-springboot/src/test/resources/tag/flow.xml @@ -9,6 +9,6 @@ - + \ No newline at end of file