🍡步骤信息
LiteFlow为执行的过程提供了详细的步骤信息。
获取一条流程执行的步骤信息是通过LiteflowResponse
对象来获取的:
LiteflowResponse response = flowExecutor.execute2Resp("chain1", "初始参数", CustomContext.class);
Map<String, CmpStep> stepMap = response.getExecuteSteps();
//或者你也可以通过以下的语句来获得一个步骤队列
Queue<CmpStep> stepQueue = response.getExecuteStepQueue();
以上这2个方法的区别是:
提示
获得Map
返回值的那个方法,如果有多个相同的组件,那么以上这个方法获得的Map
中这个组件id的value是最终的那个步骤信息。
而获得Queue<CmpStep>
这个返回值的方法,返回值里包含了所有的步骤信息,相同的组件在规则里定义n次,那么这里也有n个步骤。
在CmpStep
这个对象里,你可以通过以下方法获得你要的数据:
isSuccess
:此组件是否执行成功getNodeId
:获得组件IdgetNodeName
:获得组件名称getTag
:获得组件标签值getTimeSpent
:获得组件的耗时,单位为毫秒getException
:获取此组件抛出的异常,如果isSuccess为false的话。但是这里要注意下:有exception,success一定为false,但是success为false,不一定有exception,因为有可能没执行到,或者没执行结束(any的情况)。
提示
如果你的某一个组件抛出了异常,在默认配置情况下,流程会中断。那么response.getCause()
和相应组件步骤里的exception都是一致的。且没执行的组件不会有相应步骤信息。
帮助我们改善此文档 (opens new window)
上次更新: 2022/10/07, 00:22:18