🪶用初始化好的上下文传入
你可能注意到了,在执行器执行流程的时候,需要传入流程入参和上下文class定义(一个或多个)两种参数。
关于流程入参在流程入参章节有具体说明。
对于数据上下文而言,初始化动作是由框架来处理的。也就是说,在你执行第一个组件时,上下文对象里面是没有用户数据的。而你的流程入参是用this.getRequestData()
获取的,这部分不包含在上下文里面。
如果你需要将流程入参放入上下文,那这一动作是需要你自己来完成的。
可能会有人觉得这一步骤略显繁琐。
LiteFlow从2.8.4版本开始,允许用户传入一个或多个已经初始化好的bean作为上下文,而不是传入class对象。
在拿到FlowExecutor
之后,你可以像如下一样,传入已经初始化好的bean作为上下文(当然也支持多上下文,这里只演示单上下文):
OrderContext orderContext = new OrderContext();
orderContext.setOrderNo("SO11223344");
LiteflowResponse response = flowExecutor.execute2Resp("chain1", null, orderContext);
如果你这样调用,等于你的上下文中已经初始化好了一个一些数据。从某种意义上来说,这已经等同于流程入参
了,所以使用这个的时候,你完全可以不传流程入参了。
警告
框架并不支持上下文bean和class混传,你要么都传bean,要么都传class。
帮助我们改善此文档 (opens new window)
上次更新: 2023/03/17, 01:44:42