From a79af2ba298894c6daa10e441cedb6e6ec2ae237 Mon Sep 17 00:00:00 2001 From: "everywhere.z" Date: Thu, 1 Feb 2024 19:11:22 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I90IRR=20=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E8=B6=85=E6=97=B6maxWaitSenconds=E4=B9=8B=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E7=9A=84=E7=BB=84=E4=BB=B6=E4=BB=8D=E6=97=A7?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E4=BC=9A=E6=8A=A5=E5=87=BANPE=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/element/condition/ThenCondition.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java index 5f41b9aec..7a7b99d5d 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/flow/element/condition/ThenCondition.java @@ -51,13 +51,17 @@ public class ThenCondition extends Condition { } catch (Exception e) { Slot slot = DataBus.getSlot(slotIndex); - String chainId = this.getCurrChainId(); - // 这里事先取到exception set到slot里,为了方便finally取到exception - if (slot.isSubChain(chainId)) { - slot.setSubException(chainId, e); - } - else { - slot.setException(e); + //正常情况下slot不可能为null + //当设置了超时后,还在运行的组件就有可能因为主流程已经结束释放slot而导致slot为null + if (slot != null){ + String chainId = this.getCurrChainId(); + // 这里事先取到exception set到slot里,为了方便finally取到exception + if (slot.isSubChain(chainId)) { + slot.setSubException(chainId, e); + } + else { + slot.setException(e); + } } throw e; }