diff --git a/README.md b/README.md
index c7790b7..103731a 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
### 柔性事务、延时队列、可编排、自适应批处理、异步任务链、分布式、极简设计、高可用、高性能、易于使用
| 稳定版 | 主要变动 | 发布日期 |
| ------------- | ------------- | ------------|
+| 1.1.0 | 引擎重构和优化、支持body的二进制存储和压缩、支持Core和DelayQueue的数据源分离 | 2023/02/19 |
| 1.0.1 | 兼容较低版本的Spring | 2022/06/06 |
| 1.0.0 | 初版发布 | 2022/06/03 |
## 功能特性
@@ -26,7 +27,7 @@
com.stun4j.boot
stun4j-stf-spring-boot-starter
- 1.0.1
+ 1.1.0
```
#### 或者
@@ -35,7 +36,7 @@
com.stun4j
stun4j-stf-core
- 1.0.1
+ 1.1.0
```
### 方式2:通过源码构建
diff --git a/stun4j-stf-spring-boot-starter/README.md b/stun4j-stf-spring-boot-starter/README.md
index ee565e9..b8edae9 100644
--- a/stun4j-stf-spring-boot-starter/README.md
+++ b/stun4j-stf-spring-boot-starter/README.md
@@ -65,105 +65,115 @@ public class BizService {
## 2. `application.yml`配置详解
### 2.1 **补偿式工作流** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
+ stf:
conf-root-path: <如file:/apps/foo/stfs> #flow配置所处的根路径(可选,默认值: classpath:stfs)
conf-full-load-order: <如[bizFoo-flow, bizBar-flow]> #flow配置的文件名和 左右或前后 顺序(可选,但一般都需要明确指定,除非你不关心配置间的父子关系,比如,对于具有相同oid的config-block,右侧/后面 文件会覆盖 左侧/前面 文件的定义)
conf-exclude-filenames: <如[excludeFoo-flow, excludeBar-flow]> #需被排除、不会被加载的flow配置文件名(可选,如不指定,表示均需加载)
-#略...
```
更多关于**补偿式工作流**的介绍可参考[这篇](../stun4j-stf-core#%E8%A1%A5%E5%81%BF%E5%BC%8F%E5%B7%A5%E4%BD%9C%E6%B5%81%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)
### 2.2 **柔性事务** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- transaction: #事务全局属性的相关配置(可选,如不出现,则采用默认配置)
+ stf:
+ transaction: #事务全局属性的相关配置(可选,如不出现,采用默认配置)
isolation-level: default #隔离级别(可选,默认值:default,其它取值read-committed,repeatable-read)
propagation: required #传播机制(可选,默认值:required,其它取值mandatory,nested,never,not-supported,requires-new,supports)
-#略...
```
### 2.3 **异步任务链线程池** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- default-executor: #开放供业务使用的、默认的、全局任务执行线程池(可选,如不出现,则采用默认配置)
- allow-core-thread-time-out: true #是否允许核心线程超时(可选,默认值:true 其它取值false)
+ stf:
+ default-executor: #开放供业务使用的、默认的、全局任务执行线程池(可选,如不出现,采用默认配置)
+ allow-core-thread-time-out: true #是否允许核心线程超时(可选,默认值:true)
task-queue-size: 1024 #线程队列size(可选,默认值:1024)
thread-keep-alive-time-seconds: 60 #线程的保活秒数(可选,默认值:60)
thread-reject-policy: back-pressure #线程的拒绝策略(可选,默认值:back-pressure,其它取值drop-with-ex-throw,silent-drop,silent-drop-oldest)
-#略...
```
### 2.4 **延时队列** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- delay-queue: #可选,如不出现,则采用默认配置
- enabled: true #是否启用delay-queue(可选,默认值:true 其它取值false)
-#略...
+ stf:
+ delay-queue: #可选,如不出现,采用默认配置
+ enabled: true #是否启用delay-queue(可选,默认值:true)
```
### 2.5 **任务引擎** 相关配置
#### 2.5.1 **核心协调者** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- job: #可选(如不出现,则采用默认配置)
- manager: #可选(如不出现,则采用默认配置)
+ stf:
+ job: #可选(如不出现,采用默认配置)
+ manager: #可选(如不出现,采用默认配置)
scan-freq-secs: 3 #扫描频率秒数(可选,默认值:3)
- handle-batch-size: 20 #批处理任务数量(可选,默认值:20)
- batch-multiplying-factor: 16 #影响批处理吞吐的一个可调因子(可选,默认值:16)
-#略...
+ handle-batch-size: 0 #批处理任务数量(可选,默认值:0)
```
#### 2.5.2 **队列充填器** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- job: #可选(如不出现,则采用默认配置)
- loader: #可选(如不出现,则采用默认配置)
+ stf:
+ job: #可选(如不出现,采用默认配置)
+ loader: #可选(如不出现,采用默认配置)
load-size: 300 #扫描加载任务数最大值的一个因子(可选,默认值:300)
scan-freq-secs: 3 #扫描频率秒数(可选,默认值:3)
-#略...
```
### 2.6 **监控** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- monitor: #可选(如不出现,则采用默认配置)
+ stf:
+ monitor: #可选(如不出现,采用默认配置)
vm-res-check-enabled: true #是否开启资源检查(可选,默认值:true)
consider-jvm-mem: false #资源检查是否考察jvm内存(可选,默认值:false)
consider-sys-load: false #资源检查是否考察系统负载(可选,默认值:false)
- jvm-cpu: #可选(如不出现,则采用默认配置)
+ jvm-cpu: #可选(如不出现,采用默认配置)
high-factor: 0.65f #高水位阈值(可选,默认值:0.65f,即65%)
- jvm-mem: #可选(如不出现,则采用默认配置)
+ jvm-mem: #可选(如不出现,采用默认配置)
high-factor: 0.85f #高水位阈值(可选,默认值:0.85f,即85%)
include-non-heap: false #jvm内存检查是否考察non-heap(可选,默认值:false)
- sys-load: #可选(如不出现,则采用默认配置)
+ sys-load: #可选(如不出现,采用默认配置)
high-factor: 0.8f #高水位阈值(可选,默认值:0.8f,即80%)
-#略...
```
### 2.7 **运行模式** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
+ stf:
run-mode: default #运行模式(可选,默认值:default,其它取值client)
-#略...
```
### 2.8 **数据源** 相关配置
```yml
-#略...
stun4j:
- stf: #可选(如不出现,则采用默认配置)
- datasource-bean-name: dataSource #数据源在spring容器中的bean名称(可选,默认值:dataSource)
-#略...
+ stf:
+ datasource-bean-name: dataSource #用户数据源在spring容器中的bean名称(可选,默认值:dataSource)
+ core: #可选(如不出现,采用默认配置)
+ datasource: #核心引擎的数据源配置(可选,默认和用户数据源沿用同一份)
+ bean-name: dataSource #核心引擎数据源的bean名称(可选,默认和用户数据源沿用同一名称,即,默认使用同一数据源,注意,如不一致,事务将无法保证!!!)
+ delay-queue: #可选(如不出现,采用默认配置)
+ datasource: #延时队列的数据源配置(可选,默认和core沿用同一份)
+ bean-name: dataSource #延时队列数据源的bean名称(可选,默认和core沿用同一名称,即,默认使用同一数据源,如改变名称,用户需自行创建对应的bean)
+ auto-create-enabled: false #是否允许自动创建延时队列数据源并同时注册为bean(可选,默认值:false,只有为true,下述datasource的相关配置才实际生效)
+ url: jdbc:mysql://localhost/test2
+ username: root
+ password: 1111
+ hikari: #开箱支持hikari连接池配置(可选,和springboot中如何配置hikari完全一致,如不指定,则使用其它连接池或不使用任何连接池)
+ maximum-pool-size: 15
+ #hikari的其它配置项 略...
+ druid: #开箱支持druid连接池配置(可选,和springboot中如何配置druid完全一致,如不指定,则使用其它连接池或不使用任何连接池)
+ max-active: 20
+ #druid的其它配置项 略...
```
-### 2.9 **GUID** 相关配置
+### 2.9 **存储格式** 相关配置
+```yml
+stun4j:
+ stf:
+ core: #可选(如不出现,采用默认配置)
+ body: #核心引擎运行时的body存储(可选,如不出现,采用默认配置)
+ bytes-enabled: false #是否以二进制格式存储(可选,默认值:false)
+ compress-algorithm: none #压缩存储使用的算法(可选,默认值:none,其它取值zstd,snappy 注意,启用任何非none的压缩算法,bytes-enabled将被强制设为true,这个行为有别于一般的开关配置)
+ delay-queue: #可选(如不出现,采用默认配置)
+ body: #延时队列运行时的body存储(可选,如不出现,采用默认配置)
+ bytes-enabled: false #是否以二进制格式存储(可选,默认值:false)
+ compress-algorithm: none #压缩存储使用的算法(可选,默认值:none,其它取值zstd,snappy 注意,启用任何非none的压缩算法,bytes-enabled将被强制设为true,这个行为有别于一般的开关配置)
+```
+### 2.10 **GUID** 相关配置
Stf及其集群的正确工作必须确保内置的GUID也是正确工作的,开箱即用的GUID策略是基于**本地IP**的,关于这块的详细介绍和讨论可从这个[教程](../../../../stun4j-guid/blob/master/stun4j-guid-spring-boot-starter/README.md#2-applicationyml%E9%85%8D%E7%BD%AE%E8%AF%A6%E8%A7%A3)入手
[< 回索引](../README.md)
\ No newline at end of file