diff --git a/docs/guide_cn.md b/docs/guide_cn.md index 2138fe964..12dd8f5ee 100644 --- a/docs/guide_cn.md +++ b/docs/guide_cn.md @@ -1,7 +1,8 @@ # 一.快速开始 liteflow需要你的项目使用maven -## 1.1依赖 +## 1.1 依赖 + ```xml com.yomahub @@ -11,7 +12,7 @@ liteflow需要你的项目使用maven ``` 最新版本为*2.3.1*,为稳定版本,目前jar包已上传中央仓库,可以直接依赖到 -## 1.2流程配置文件 +## 1.2 流程配置文件 如果你的项目不依赖spring框架(现在还有不依赖spring的项目吗?没关系,liteflow也为你提供了配置) @@ -59,7 +60,7 @@ chain为流程链,每个链上可配置多个组件节点。目前执行的模 ``` -## 1.3执行流程链 +## 1.3 执行流程链 (不依赖任何第三方框架的写法) @@ -86,7 +87,7 @@ liteFlow提供了liteflow-spring-boot-starter依赖包,提供自动装配功 ``` -## 2.2配置 +## 2.2 配置 在依赖了以上jar包后。 @@ -102,7 +103,7 @@ liteflow.ruleSource=config/flow.xml 针对于使用了spring但没有使用springboot的项目 -## 3.1流程配置可以省略的部分 +## 3.1 流程配置可以省略的部分 流程配置中的`nodes`节点,可以不用配置了,支持spring的自动扫描方式。你需要在你的spring配置文件中定义 ```xml @@ -123,7 +124,7 @@ public class AComponent extends NodeComponent } ``` -## 3.2spring中执行器的配置 +## 3.2 Spring中执行器的配置 ```xml @@ -140,10 +141,10 @@ public class AComponent extends NodeComponent # 四.和zookeeper进行集成 -## 4.1spring配置 - liteFlow支持把配置放在zk集群中,并支持实时修改流程 -你只需在原来配置执行器的地方,把本地xml路径换成zk地址就ok了 +你只需在原来配置流程的地方,把本地xml路径换成zk地址就ok了 + +## 4.1 Spring配置 ```xml @@ -158,12 +159,17 @@ liteFlow支持把配置放在zk集群中,并支持实时修改流程 ``` -如果你不加zkNode这个标签,就用默认的节点路径进行读取配置。 -使用这种方式加载配置,在zk上进行更改配置。liteFlow会实时刷新配置。 +## 4.2 Springboot配置 + +```properties +liteflow.ruleSource=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 +``` + + # 五.使用自定义的配置源 -## 5.1创建自定义配置源的类 +## 5.1 创建自定义配置源的类 如果你不想用本地的配置,也不打算使用zk作为配置持久化工具。liteFlow支持自定义的配置源的扩展点。 在你的项目中创建一个类继承`ClassXmlFlowParser`这个类 @@ -180,7 +186,7 @@ public class TestCustomParser extends ClassXmlFlowParser { } ``` -## 5.2Spring配置 +## 5.2 Spring配置 spring中需要改的地方还是执行器的配置,只需要在配置的路径地方放入自定义类的类路径即可 ```xml @@ -193,15 +199,23 @@ spring中需要改的地方还是执行器的配置,只需要在配置的路 ``` +## 5.3 Springboot配置 + +```properties +liteflow.ruleSource=com.yomahub.liteflow.test.TestCustomParser +``` + + + # 六.架构设计 -## 6.1组件编排式流程引擎架构设计 +## 6.1 组件编排式流程引擎架构设计 ![architecture_image](media/architecture.jpg) # 七.接入详细指南 -## 7.1执行器 +## 7.1 执行器 执行器`FlowExecutor`用来执行一个流程,用法为 ```java @@ -221,7 +235,7 @@ public T execute(String chainId,Object param,Class T execute(String chainId,Object param,Class 不过这里还是推荐扩展出自定义的Slot(上一小章阐述了原因),自定义的Slot更加友好。更加贴合业务。 -## 7.3组件节点 +## 7.3 组件节点 组件节点需要继承`NodeComponent`类 需要实现`process`方法 @@ -241,7 +255,7 @@ public T execute(String chainId,Object param,Class T execute(String chainId,Object param,Class 如果存在相同名字的节点和流程,优先节点。 -## 7.6节点内执行流程 +## 7.6 节点内执行流程 liteflow支持在一个节点里通过代码调用另外一条流程, 这个流程关系在xml中并不会显示。所以这里称之为隐式调用。 @@ -301,7 +315,7 @@ public class HComponent extends NodeComponent { ``` 这段代码演示了在某个业务节点内调用另外一个流程链的方法 -## 7.7步骤打印 +## 7.7 步骤打印 liteFlow在执行每一条流程链后会打印步骤,这个步骤是程序实际执行的顺序 样例如下: @@ -310,14 +324,14 @@ liteFlow在执行每一条流程链后会打印步骤,这个步骤是程序实 a==>c==>m==>q==>p==>p1==>g ``` -## 7.8监控 +## 7.8 监控 liteFlow提供了简单的监控,目前只统计一个指标:每个组件的平均耗时 每5分钟会打印一次,并且是根据耗时时长倒序排的。 # 八.示例工程 -## 8.1测试工程 +## 8.1 测试工程 在项目内有2个简单的测试工程示例: @@ -326,7 +340,7 @@ liteFlow提供了简单的监控,目前只统计一个指标:每个组件的 分别对应了spring和springboot环境下的示例工程,可以运行`Runner`进行启动(会连带启动测试用例) -## 8.2一个完整的案例 +## 8.2 一个完整的案例 如果你想看一个实际的案例,加深对liteflow的理解。可以查看: