隐式子流程
LiteFlow支持在一个节点里通过代码调用另外一条流程, 这个流程关系在规则文件中并不会显示。所以这里称之为隐式调用。
主流程和隐式子流程共同享有同一个上下文的数据。所以隐式子流程里也完全可以拿到这个请求中的所有数据。
隐式调用可以完成更为复杂的子流程,比如循环调用:
@Component("h")
public class HComponent extends NodeComponent {
@Resource
private FlowExecutor flowExecutor;
@Override
public void process() {
System.out.println("Hcomponent executed!");
for(int i=0;i<10;i++){
flowExecutor.invoke("strategy1","隐式流程的初始参数,可为null", this.getSlotIndex());
}
}
}
这段代码演示了在某个业务节点内循环调用另外一个流程链的方法。
同样,隐式子流程也支持返回LiteFlowResponse
对象,需要调用invoke2Resp
方法,关于返回对象为LiteFlowResponse
的说明,请参照Response对象。
注意
隐式流程在组件中拿到传入的请求参数,通过this.getSubChainReqData()
去拿,用this.getRequestData()
是拿不到的!
帮助我们改善此文档 (opens new window)
上次更新: 2022/10/07, 00:22:18