diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/parallel/WhenFutureObj.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/parallel/WhenFutureObj.java index f36859ebe..d997cc2ae 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/parallel/WhenFutureObj.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/parallel/WhenFutureObj.java @@ -1,5 +1,9 @@ package com.yomahub.liteflow.entity.flow.parallel; +import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.exception.WhenTimeoutException; +import com.yomahub.liteflow.property.LiteflowConfigGetter; + /** * 并行异步CompletableFuture里的值对象 * @author Bryan.Zhang @@ -37,6 +41,11 @@ public class WhenFutureObj { result.setSuccess(false); result.setTimeout(true); result.setExecutorName(executorName); + result.setEx(new WhenTimeoutException( + StrUtil.format("Timed out when executing the component[{}],when-max-timeout-seconds config is:{}(s)", + executorName, + LiteflowConfigGetter.get().getWhenMaxWaitSeconds())) + ); return result; } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/exception/WhenTimeoutException.java b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/WhenTimeoutException.java new file mode 100644 index 000000000..71f139165 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/exception/WhenTimeoutException.java @@ -0,0 +1,21 @@ +package com.yomahub.liteflow.exception; + + +public class WhenTimeoutException extends RuntimeException { + private static final long serialVersionUID = 1L; + + /** 异常信息 */ + private String message; + + public WhenTimeoutException(String message) { + this.message = message; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +}