执行器

执行器FlowExecutor用来执行一个流程,两种用法。

  1. 返回类型为LiteflowResponse类;
  1. public LiteflowResponse<DefaultSlot> execute2Resp(String chainId, Object param);

第一个参数为流程ID,第二个参数为流程入参,返回结果LiteflowResponse为泛型,其中类型参数为Slot接口默认的实现类DefaultSlot

  1. 返回类型为Slot接口的子类,带异常抛出;
  1. public DefaultSlot execute(String chainId,Object param) throws Exception;

第一个参数为流程ID,第二个参数为流程入参,返回为Slot接口的子类,以上方法所返回默认的实现类DefaultSlot

info" class="reference-link">执行器 - 图2info

实际在使用时,并不推荐用默认的DefaultSlot,推荐自己新建一个类继承AbsSlot
这是因为默认Slot实现类里面大多数都存放元数据,给用户扩展的数据存储是一个弱类型的Map
而用户自定义的Slot可以实现强类型的数据,这样对开发者更加友好

推荐使用带自定义Slot的执行接口:

  1. public <T extends Slot> LiteflowResponse<T> execute2Resp(String chainId, Object param, Class<T> slotClazz);
  2. public <T extends Slot> T execute(String chainId,Object param,Class<? extends Slot> slotClazz) throws Exception;

关于Slot的说明,请参照数据槽