From 3237cd1e87f19bdee4f862182766fd756db7f0be Mon Sep 17 00:00:00 2001 From: "bryan.zhang" Date: Wed, 28 Feb 2018 19:09:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.nojekyll | 0 docs/README.md | 74 +++++++++++++++++++++++++++++++++++++++++++ docs/architecture.md | 10 +++++- docs/guide.md | 1 + docs/runwithcustom.md | 6 ++-- 5 files changed, 87 insertions(+), 4 deletions(-) create mode 100644 docs/.nojekyll create mode 100644 docs/README.md create mode 100644 docs/guide.md diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..effedd767 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,74 @@ +### 概述 +liteFlow是一个轻量,快速的组件式流程框架,帮助解耦业务代码,让每一个业务片段都是一个组件 + +* 提供本地xml的流程配置(后续全面支持spring式流程配置) +* 提供基于spring的扫描方式注入component +* 提供串行和并行2种模式。 +* 消除组件之间参数传递,引入数据总线概念。 +* 数据槽高并发隔离机制。 +* 提供无级嵌套条件节点的模式。 +* 自带简单的监控,能够知道每个组件的运行耗时排行(每隔5分钟会自动打印) + +### 最新版本1.3.1更新日志 +优化大量潜在的问题,此版本为稳定版本,主要更新点如下: +1. 增加条件节点功能 +2. 优化异常捕获的日志打印 +3. 支持自定义SLOT的特性 +4. 优化步骤打印,能够支持开闭区间的打印方式 +5. 增加了内部策略的调用方式 +6. 增加了追踪ID +7. 优化了监控打印 + +### Quick Start +1. 定义组件需继承Component,项目启动时会被自动发现。 +2. 定义xml配置(例子) +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` +3.spring里声明执行器 +```xml + + + + flow.xml + + + + + + + +``` +4.开始一个流程 +```java +executor.execute("chain2", 参数); +``` \ No newline at end of file diff --git a/docs/architecture.md b/docs/architecture.md index fa7cc9cb6..37f3711c4 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1 +1,9 @@ -### \ No newline at end of file +## 架构设计 + +![architecture_image](images/architecture.png) + +组件式流程引擎架构设计 +Handler Unit:我们想象成每一个业务都是一个业务组件,每一个业务组件就是一个handlerUnit(处理单元) +EPU:这里的epu对应的就是我们的执行器,用来统筹并处理handlerUnit。相当于计算机的CPU +Event Bus:事件总线,用来指定下一个命令是什么,该如何去执行处理单元。这里的时间总线由我们的配置构成 +Data Bus:数据总线,用来存储整个调用链里数据。每一个请求生成一个数据槽。一个数据里最多有1024个数据槽。 \ No newline at end of file diff --git a/docs/guide.md b/docs/guide.md new file mode 100644 index 000000000..391250caa --- /dev/null +++ b/docs/guide.md @@ -0,0 +1 @@ +XXX \ No newline at end of file diff --git a/docs/runwithcustom.md b/docs/runwithcustom.md index 71963b000..df0411b10 100644 --- a/docs/runwithcustom.md +++ b/docs/runwithcustom.md @@ -1,7 +1,7 @@ -## 使用自定义的方式配置 -如果你不想用本地的配置,也不打算使用zk作为配置持久化工具。liteFlow支持自定义的配置的扩展点。 +## 使用自定义的配置源 +如果你不想用本地的配置,也不打算使用zk作为配置持久化工具。liteFlow支持自定义的配置源的扩展点。 -# 创建自定义的配置的类 +# 创建自定义配置源的类 在你的项目中创建一个类继承`ClassXmlFlowParser`这个类 ```java public class TestCustomParser extends ClassXmlFlowParser {