普通组件

组件节点需要继承NodeComponent

需要实现process方法

  1. @LiteflowComponent("a")
  2. public class ACmp extends NodeComponent {
  3. @Override
  4. public void process() {
  5. System.out.println("ACmp executed!");
  6. }
  7. }

但是推荐实现isAccess方法,表示是否进入该节点,可以用于业务参数的预先判断

其他几个可以覆盖的方法有:

方法isContinueOnError:表示出错是否继续往下执行下一个组件,默认为false

方法isEnd:表示是否立即结束整个流程 ,默认为false,也可以在业务日志里根据业务判断来调用this.setIsEnd(true)来结束整个流程。对于这种方式,最终的isSuccess是为true的(2.6.0版本修复)。

在组件节点里,随时可以通过方法getSlot获取当前的数据槽,从而可以获取任何数据。

info" class="reference-link">普通组件 - 图2info

从v2.6.0开始,新增了@LiteflowComponent标签,它是继承于Spring的@Component标签的,所以从作用上来说,和@Component标签并没有什么区别,但是@LiteflowComponent新增加了name属性,用于给组件起别名,在打印调用链的时候会体现。具体请查看步骤打印章节,新版本开始,推荐大家使用@LiteflowComponent,当然@Component也同样可以继续沿用。