diff --git a/docs/guide_cn.md b/docs/guide_cn.md index cb58d6a73..47663a41b 100644 --- a/docs/guide_cn.md +++ b/docs/guide_cn.md @@ -172,4 +172,79 @@ public T execute(String chainId,Object param,Class 不过这里还是推荐扩展出自定义的Slot(上一小章阐述了原因),自定义的Slot更加友好。更加贴合业务。 + +## 6.3组件节点 +组件节点需要继承`NodeComponent`类 +需要实现`process`方法 +但是推荐实现`isAccess`方法,表示是否进入该节点,可以用于业务参数的预先判断 + +其他几个可以覆盖的方法有: +方法`isContinueOnError`:表示出错是否继续往下执行下一个组件 +方法`isEnd`:表示是否立即结束整个流程 + +在组件节点里,随时可以通过方法`getSlot`获取当前的数据槽,从而可以获取任何数据。 + +## 6.4条件节点 +在实际业务中,往往要通过动态的业务逻辑判断到底接下去该执行哪一个节点 +```xml + + + + +``` +利用表达式可以很方便的进行条件的判断 +c节点是用来路由的,被称为条件节点,这种节点需要继承`NodeCondComponent`类 +需要实现方法`processCond`,这个方法需要返回`Class`类型,就是具体的结果节点 + +## 6.5嵌套执行 +liteFlow可以无极嵌套执行n条流程 +```java +@Component("h") +public class HComponent extends NodeComponent { + + @Resource + private FlowExecutor flowExecutor; + + @Override + public void process() { + System.out.println("Hcomponent executed!"); + flowExecutor.invoke("strategy1",3, DefaultSlot.class, this.getSlotIndex()); + } + +} +``` +这段代码演示了在某个业务节点内调用另外一个流程链的方法 + +## 6.6步骤打印 +liteFlow在执行每一条流程链后会打印步骤 +样例如下: +``` +a==>c==>h(START)==>m==>p==>p1==>h(END)==>g +``` +?> 其中h节点分start和end两个步骤,说明在h节点内调用了另一条流程。start和end之间的步骤就是另一条流程的步骤 + +## 6.7监控 +liteFlow提供了简单的监控,目前只统计一个指标:每个组件的平均耗时 +每5分钟会打印一次,并且是根据耗时时长倒序排的。 + +# 七、更新记录 +## 1.3.1更新日志 +优化大量潜在的问题,此版本为稳定版本,主要更新点如下: +* 增加条件节点功能 +* 优化异常捕获的日志打印 +* 支持自定义SLOT的特性 +* 优化步骤打印,能够支持开闭区间的打印方式 +* 增加了内部策略的调用方式 +* 增加了追踪ID +* 优化了监控打印 + +## 2.0.1更新日志 +更新点如下: +* 增加对zookeeper的支持 +* 增加自定义配置源 +* 优化监控的表现