Response对象
在执行器返回中,用的最多的就是返回一个LiteFlowResponse<T>
对象。
这个对象里面包含了很多结果数据和过程数据。
# 流程执行是否成功
你可以通过以下方法来判断一个流程是否执行成功:
LiteflowResponse<CustomContext> response = flowExecutor.execute("chain1", "初始参数", CustomContext.class);
boolean isSuccess = response.isSuccess();
# 获取异常信息
如果一个流程isSuccess为false,则必然有异常信息,你可以通过以下方法来获得异常:
LiteflowResponse<CustomContext> response = flowExecutor.execute("chain1", "初始参数", CustomContext.class);
if (!response.isSuccess()){
Exception e = response.getCause();
}
# 获得执行步骤详细信息
结果信息中也封装了流程执行每一步的详细信息,你可以通过以下方法来获取:
LiteflowResponse<CustomContext> response = flowExecutor.execute("chain1", "初始参数", CustomContext.class);
Map<String, CmpStep> stepMap = response.getExecuteSteps();
关于步骤信息的详细请参考步骤信息。
# 上下文数据
流程在执行过程中,会对上下文数据进行读写操作。一个流程的返回数据也应当包含在上下文中。
你获得了LiteFlowResponse
对象之后,可以这样获得上下文Bean:
LiteflowResponse<CustomContext> response = flowExecutor.execute("chain1", "初始参数", CustomContext.class);
CustomContext context = response.getContextBean();
# 获得步骤字符串信息
获得一个简单易懂的组件步骤的字符串拼装信息:
LiteflowResponse<CustomContext> response = flowExecutor.execute("chain1", "初始参数", CustomContext.class);
String stepStr = response.getExecuteStepStr();
这个字符串打印出来结果如下:
a[组件A]<201>==>b[组件B]<300>==>m[组件M]<1205>
这里的表达形式为组件ID[组件别名]<耗时毫秒>
。关于如何设置组件别名可以参考组件别名。
同时,response对象里还提供了getExecuteStepStrWithoutTime
这个方法,用于返回不带有耗时时间的步骤字符串。
提示
事实上,在每一个流程执行结束后,框架会自动打印这个步骤字符串,所以无需你自己获取打印。
这里只是说明如何获取,如果你要持久化下来,可以这样获取。
帮助我们改善此文档 (opens new window)
上次更新: 2022/10/07, 00:22:18