diff --git a/README.md b/README.md
index 9120d7225524209abedd914ca912880709c4fb05..ffbb306185c4e62989547c3ead9b2b2b8b19d73e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-Solon v3.0.7
+Solon v3.0.8
Java enterprise application development framework for full scenario: Restrained, Efficient, Open, Ecological
diff --git a/README_CN.md b/README_CN.md
index c94cc027bfff67f6017ee35e74779be6ba111c36..c89adb8b4e05ea64c26b0d49eb7eccafc39b4bff 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -1,7 +1,7 @@
-Solon v3.0.7
+Solon v3.0.8
面向全场景的 Java 企业级应用开发框架:克制、高效、开放、生态
diff --git a/README_EN.md b/README_EN.md
index 9120d7225524209abedd914ca912880709c4fb05..ffbb306185c4e62989547c3ead9b2b2b8b19d73e 100644
--- a/README_EN.md
+++ b/README_EN.md
@@ -1,7 +1,7 @@
-Solon v3.0.7
+Solon v3.0.8
Java enterprise application development framework for full scenario: Restrained, Efficient, Open, Ecological
diff --git a/README_JP.md b/README_JP.md
index de4103266a6af05ee2d163154fac23d3437def09..ce3cd3bd68bde824032829aa2ccc65c93cea4a08 100644
--- a/README_JP.md
+++ b/README_JP.md
@@ -1,7 +1,7 @@
-Solon v3.0.7
+Solon v3.0.8
全シーンに向けたJava企業向けアプリケーション開発フレームワーク:抑制、効率、オープン、エコ
diff --git a/README_RU.md b/README_RU.md
index bbf2eaf1fec80d0ffcf8b5e73b8c0931264df859..fd751c78e56be4f1573dbe7798b74613c52605a4 100644
--- a/README_RU.md
+++ b/README_RU.md
@@ -1,7 +1,7 @@
-Solon v3.0.7
+Solon v3.0.8
Структура разработки приложений на бизнес-уровне, ориентированная на полную сцену: сдержанность, эффективность, открытость, экология
diff --git a/UPDATE_LOG.md b/UPDATE_LOG.md
index b8cdfc7abf41d799862302c3f2962a8e227c2b92..2432f77dd064c8399e5ae9eae3b45300715dd661 100644
--- a/UPDATE_LOG.md
+++ b/UPDATE_LOG.md
@@ -27,6 +27,26 @@
* 优化 拦截体系与 rx 的兼容?
+### v3.0.8
+* 添加 solon-web-sse SseRender 渲染器,支持 "text/event-stream" 的任意类型处理
+* 添加 solon-flow FlowEngine:chains 方法
+* 添加 solon-flow ChainContext:run(script) 接口(支持在脚本中运行动态脚本)
+* 优化 solon-flow 简化模式可以没有 start,end 节点,自动识别出开始节点
+* 优化 solon ActionReturnHandler 增加排序支持
+* 优化 solon-web-sse SseEmitter 添加事件缓存支持(初始化前就可发事件,之前不能)
+* 优化 solon-web-rx 结构设计,方便支持其它响应式框架(比如 mutiny)
+* 优化 solon-web-rx 可支持所有 reactivestreams 实现框架
+* 优化 solon beanExtractOrProxy 内部改为先代理再提取,解决提取时对象未代理
+* 调整 solon-web-rx 调整 Flux collectList 策略为由 mimeType 是否为流决定
+* 修复 solon 集合bean注入时,可能产生两次执行的问题
+* 修复 solon-logging-logback 的 "solon.logging.appender.file.maxHistory" 配置无效的问题
+* 修复 solon RoutingTableDefault 路由可能出现变量在前,常量在后的问题
+* 修复 solon-docs-openapi2 类型如果为自定义类型无法正确识别到 OpenApi Json.
+* 修复 solon-serialization-jackson TimeDeserializer 对空串解析异常的问题
+* snack3 升为 3.2.126
+* liquor 1.3.10
+* smart-http 升为 2.5.2 修复 sse 流不能自动结束的问题
+* jetty 升为 9.4.57.v20241219
### v3.0.7
* 添加 solon BindProps 绑定属性注解,用于简化集合属性绑定及配置元信息APT生成
diff --git a/__hatch/nami-coder-thrift/pom.xml b/__hatch/nami-coder-thrift/pom.xml
index 5901940db7550d7c97bddd301fbe45ed2e4de8e0..511ef25b5664aa809e313dfe85f5aedeedd4933c 100644
--- a/__hatch/nami-coder-thrift/pom.xml
+++ b/__hatch/nami-coder-thrift/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
@@ -19,13 +19,13 @@
org.noear
solon
- 3.0.7
+ 3.0.8
org.noear
nami
- 3.0.7
+ 3.0.8
diff --git a/__hatch/nanoxlsx4j-solon-plugin/pom.xml b/__hatch/nanoxlsx4j-solon-plugin/pom.xml
index 846abac6e49e7bed2dd0f3c2352920959ee7056c..86cbb9466641d5bda2ea31d41b14a2bfe183c726 100644
--- a/__hatch/nanoxlsx4j-solon-plugin/pom.xml
+++ b/__hatch/nanoxlsx4j-solon-plugin/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/pom.xml b/__hatch/pom.xml
index 8dd7b41f5ef7f626298cc66ea254a5c21b796166..1701721bcaafc3a26313f921038862dd9447ad5f 100644
--- a/__hatch/pom.xml
+++ b/__hatch/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../solon-parent/pom.xml
diff --git a/__hatch/solon-boot-nettyhttp/pom.xml b/__hatch/solon-boot-nettyhttp/pom.xml
index 1d0567ec1f3548967e23823bdf1301b1237078a1..60e68be5c42a6acc66d3d9e9378006ff67ac024f 100644
--- a/__hatch/solon-boot-nettyhttp/pom.xml
+++ b/__hatch/solon-boot-nettyhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/solon-boot-reactor-netty/pom.xml b/__hatch/solon-boot-reactor-netty/pom.xml
index e488fba13d30c33f0d7a8ab70a7cc88e2b6c6bf9..9423361299463e3f815d5403dba8a56f834a7a16 100644
--- a/__hatch/solon-boot-reactor-netty/pom.xml
+++ b/__hatch/solon-boot-reactor-netty/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/solon-boot-tomcat-add-jsp/pom.xml b/__hatch/solon-boot-tomcat-add-jsp/pom.xml
index ba2ff982fd5e8dfdc1081c660688ace800963940..92e57e48b3bab6799b10cdea710386c529061e20 100644
--- a/__hatch/solon-boot-tomcat-add-jsp/pom.xml
+++ b/__hatch/solon-boot-tomcat-add-jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/solon-boot-tomcat/pom.xml b/__hatch/solon-boot-tomcat/pom.xml
index 24c6b183d68a1a73b96c239c88a61fb2fe3dba57..25559c5890d9ff4ed8de4a101c04073ace7901dc 100644
--- a/__hatch/solon-boot-tomcat/pom.xml
+++ b/__hatch/solon-boot-tomcat/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/solon-serialization-avro/pom.xml b/__hatch/solon-serialization-avro/pom.xml
index 96c02ac3a2268e79156eb5be9b8d06dcf9e83820..ac6886f4e4992e747798119ef6c02c15a4b400be 100644
--- a/__hatch/solon-serialization-avro/pom.xml
+++ b/__hatch/solon-serialization-avro/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__hatch/solon-serialization-thrift/pom.xml b/__hatch/solon-serialization-thrift/pom.xml
index f9f634090b4b1ea41adaad49043e5b42d8f37344..be1b2f3ac647af8d1bf75250d46fe3ddf42aa0f5 100644
--- a/__hatch/solon-serialization-thrift/pom.xml
+++ b/__hatch/solon-serialization-thrift/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/nami-bundle/pom.xml b/__release/nami-bundle/pom.xml
index 876fe8d4a1a18b4e84ce50e7fe498a4887c848a5..ce9570267da90b7fe47b30c49cd4a2674a47b03c 100644
--- a/__release/nami-bundle/pom.xml
+++ b/__release/nami-bundle/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle1/pom.xml b/__release/solon-base-bundle1/pom.xml
index fad73777c750a6dffc842bc807e28942079c4e81..de8c85bd3e1365f19a9ee5d2af24e4f499acd72a 100644
--- a/__release/solon-base-bundle1/pom.xml
+++ b/__release/solon-base-bundle1/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle2/pom.xml b/__release/solon-base-bundle2/pom.xml
index 463cbbb93919afc01c51b17408840f4b7b8ba58d..abf2b8cc6eb7d1998cc8201507e51b7a21eeef30 100644
--- a/__release/solon-base-bundle2/pom.xml
+++ b/__release/solon-base-bundle2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle3/pom.xml b/__release/solon-base-bundle3/pom.xml
index 8712709186d3eb3e0e46c486c0883bcf8b5d75d7..34c5f4c2b6890781d02d6b8cf6164c52d259ecfa 100644
--- a/__release/solon-base-bundle3/pom.xml
+++ b/__release/solon-base-bundle3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle4/pom.xml b/__release/solon-base-bundle4/pom.xml
index 6d939f5e6f7b69e7c0b0ef230c1e685ed9688d2d..6739ec343aa967f4635aa030c0c4f58c6b072815 100644
--- a/__release/solon-base-bundle4/pom.xml
+++ b/__release/solon-base-bundle4/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle5/pom.xml b/__release/solon-base-bundle5/pom.xml
index 057ce06fb4094dcf3c97caad34b7d600a0274b69..e94a563dbd8ecdcdf1d4b5e05b59378c80bdbf8a 100644
--- a/__release/solon-base-bundle5/pom.xml
+++ b/__release/solon-base-bundle5/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-base-bundle6/pom.xml b/__release/solon-base-bundle6/pom.xml
index 4504ba632fb660b461091aee6f5def4d9d9a2f58..5640a8e5bdb4a05d75ef7e83d977141452c11a05 100644
--- a/__release/solon-base-bundle6/pom.xml
+++ b/__release/solon-base-bundle6/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__release/solon-shortcuts-bundle/pom.xml b/__release/solon-shortcuts-bundle/pom.xml
index 57fd0ea751866a6d16c7440396f1734df7e731d2..08e6b007adb386b86a2db163069bdb628dffac5d 100644
--- a/__release/solon-shortcuts-bundle/pom.xml
+++ b/__release/solon-shortcuts-bundle/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../solon-parent/pom.xml
diff --git a/__test/pom.xml b/__test/pom.xml
index d1626d656aee57ce8e55b8ca216263b90030c306..071b4c4547a595604c158c171ed64ae55e8ecee2 100644
--- a/__test/pom.xml
+++ b/__test/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../solon-parent/pom.xml
diff --git a/__test/src/test/java/labs/ZipTest.java b/__test/src/test/java/labs/ZipTest.java
index 799aa6889e1cb5041cf4682421afe037414cbb78..7228dab986846ccd21c5e0b49b890bac8a1b0568 100644
--- a/__test/src/test/java/labs/ZipTest.java
+++ b/__test/src/test/java/labs/ZipTest.java
@@ -15,7 +15,6 @@
*/
package labs;
-import org.noear.solon.boot.web.MimeType;
import org.noear.solon.core.handle.Context;
import org.noear.solon.core.handle.DownloadedFile;
diff --git a/solon-parent/pom.xml b/solon-parent/pom.xml
index b806e5a80274fb9c59f15cbf3ce36fe75aac75f8..86e2bf37f20d924bf211d5311e883f168fed3dd3 100644
--- a/solon-parent/pom.xml
+++ b/solon-parent/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
pom
${project.artifactId}
@@ -30,20 +30,20 @@
3.4.0
- 3.0.7
- 3.0.7
- 3.0.7
- 3.0.7
- 3.0.7
+ 3.0.8
+ 3.0.8
+ 3.0.8
+ 3.0.8
+ 3.0.8
1.1.3
- 3.2.125
+ 3.2.126
3.4.33
1.3.16
1.6.9
2.5.14
- 1.3.7
+ 1.3.10
1.7.10
2.15.1
@@ -65,8 +65,8 @@
5.0.0
1.5.55
- 2.5.1
- 9.4.56.v20240826
+ 2.5.2
+ 9.4.57.v20241219
2.2.37.Final
2.1.0.Final
13.4.0.Final
@@ -77,6 +77,7 @@
4.1.115.Final
3.6.9
1.1.22
+ 1.10.0
1.11.1
@@ -166,7 +167,7 @@
5.1.3
3.30.14-RELEASE
5.6.37.jre8
- 1.10.5
+ 1.10.7
2.10.0
5.4.3
4.3.2
diff --git a/solon-projects/nami/nami-channel-http-hutool/pom.xml b/solon-projects/nami/nami-channel-http-hutool/pom.xml
index 7ef0a280f35bde5e72b10b6ee2ac561cf2712ff3..dbac4df435ce3c9b547f0614a61c9a27b1c20fe6 100644
--- a/solon-projects/nami/nami-channel-http-hutool/pom.xml
+++ b/solon-projects/nami/nami-channel-http-hutool/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-channel-http-okhttp/pom.xml b/solon-projects/nami/nami-channel-http-okhttp/pom.xml
index b41066c8f153beaade8d67f308a61f0f1e6dfc36..f007e24f20c85b5d9f4e03d4ece8e4e2c42408bd 100644
--- a/solon-projects/nami/nami-channel-http-okhttp/pom.xml
+++ b/solon-projects/nami/nami-channel-http-okhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-channel-http/pom.xml b/solon-projects/nami/nami-channel-http/pom.xml
index 8189d991b230f8489414e4cd85b99cc8970d0f06..faa8b143373bbb0bbd7f5b2f86b4f2b9bd9e6330 100644
--- a/solon-projects/nami/nami-channel-http/pom.xml
+++ b/solon-projects/nami/nami-channel-http/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-channel-socketd/pom.xml b/solon-projects/nami/nami-channel-socketd/pom.xml
index 99e15a5c195f70875656b12fff89447922ac703e..e013534d3d13eee42de913ebaa7a8952d00f5edd 100644
--- a/solon-projects/nami/nami-channel-socketd/pom.xml
+++ b/solon-projects/nami/nami-channel-socketd/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-abc/pom.xml b/solon-projects/nami/nami-coder-abc/pom.xml
index 050134b5c9c0d8c185a891cecf18c57415e9b286..80e1a3ba02a53384bb3e74cdf300f344224f6117 100644
--- a/solon-projects/nami/nami-coder-abc/pom.xml
+++ b/solon-projects/nami/nami-coder-abc/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-fastjson/pom.xml b/solon-projects/nami/nami-coder-fastjson/pom.xml
index 2639808e519369e8cc9f9ea77438015d70219a20..99046e1ef34510d4c57e728d5e1cfa1a20dcc0e4 100644
--- a/solon-projects/nami/nami-coder-fastjson/pom.xml
+++ b/solon-projects/nami/nami-coder-fastjson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-fastjson2/pom.xml b/solon-projects/nami/nami-coder-fastjson2/pom.xml
index 0e13aa141781ad2d4a9f1d0faa9c246f50305dd5..2c25d9a1b4ea928cc0065a1fdecff7b1dd97e154 100644
--- a/solon-projects/nami/nami-coder-fastjson2/pom.xml
+++ b/solon-projects/nami/nami-coder-fastjson2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-fury/pom.xml b/solon-projects/nami/nami-coder-fury/pom.xml
index a6ee3fd6bc1fc55a93e2d76d3848a364420eb81d..51331f37534dbcc11f79fd6422adb5a7a8a47dff 100644
--- a/solon-projects/nami/nami-coder-fury/pom.xml
+++ b/solon-projects/nami/nami-coder-fury/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-hessian/pom.xml b/solon-projects/nami/nami-coder-hessian/pom.xml
index 8ca873f2714f79ca5930e21f77886cbec17a73d5..d51dc183ba4dc6e88bd57d558ef630e656303cbf 100644
--- a/solon-projects/nami/nami-coder-hessian/pom.xml
+++ b/solon-projects/nami/nami-coder-hessian/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-jackson/pom.xml b/solon-projects/nami/nami-coder-jackson/pom.xml
index ebb2370b9d3d7deadbf7870b14bec555aa6de806..f3f74df4e4920ec8d647a3c6e56722dafb769d5e 100644
--- a/solon-projects/nami/nami-coder-jackson/pom.xml
+++ b/solon-projects/nami/nami-coder-jackson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-kryo/pom.xml b/solon-projects/nami/nami-coder-kryo/pom.xml
index 2fe4bc8dd57d216e75fd6ebfe2794e5924745b7d..5a73a7e174e9a7db3a303281791c84ca6fbb1376 100644
--- a/solon-projects/nami/nami-coder-kryo/pom.xml
+++ b/solon-projects/nami/nami-coder-kryo/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-protostuff/pom.xml b/solon-projects/nami/nami-coder-protostuff/pom.xml
index 74dcbb2deb63c9352a6f33b7fea98e048d383374..7dfdee4ecb42ea20203029ea7400b36d1542aad6 100644
--- a/solon-projects/nami/nami-coder-protostuff/pom.xml
+++ b/solon-projects/nami/nami-coder-protostuff/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami-coder-snack3/pom.xml b/solon-projects/nami/nami-coder-snack3/pom.xml
index 961d9ed4d41419429ab370c3e6293c3fdb385545..0eb06a15cb9330359cc266073faaae3b58fbf52a 100644
--- a/solon-projects/nami/nami-coder-snack3/pom.xml
+++ b/solon-projects/nami/nami-coder-snack3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami/nami/pom.xml b/solon-projects/nami/nami/pom.xml
index d835b7bdbf03a08b4e58ec82d2fdc2d242f745eb..26010df9044fa944d60901b245e0cc341e8cb394 100644
--- a/solon-projects/nami/nami/pom.xml
+++ b/solon-projects/nami/nami/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.channel.http.hutool/pom.xml b/solon-projects/nami_old/nami.channel.http.hutool/pom.xml
index 5fb95847c772c79966310add4004c1d7a073c7d7..39a4f6fbe962a7b3038150370c77589b510fb146 100644
--- a/solon-projects/nami_old/nami.channel.http.hutool/pom.xml
+++ b/solon-projects/nami_old/nami.channel.http.hutool/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.channel.http.okhttp/pom.xml b/solon-projects/nami_old/nami.channel.http.okhttp/pom.xml
index 8946f614de603dcddd87009136685e6c62259ed2..4f7a05ff326ecf328b4c5730b254f8cce3385a27 100644
--- a/solon-projects/nami_old/nami.channel.http.okhttp/pom.xml
+++ b/solon-projects/nami_old/nami.channel.http.okhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.channel.socketd/pom.xml b/solon-projects/nami_old/nami.channel.socketd/pom.xml
index 7281e4abf9d912d45aca8aa202ff1aa9ddc28d5f..4719888195d182ff2dd11a428448551063ee4d03 100644
--- a/solon-projects/nami_old/nami.channel.socketd/pom.xml
+++ b/solon-projects/nami_old/nami.channel.socketd/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.fastjson/pom.xml b/solon-projects/nami_old/nami.coder.fastjson/pom.xml
index 82826962542ff429961a431a5d0ce6d198cceae1..47912c0425ec113ed29b4ba96edee124d943ac0f 100644
--- a/solon-projects/nami_old/nami.coder.fastjson/pom.xml
+++ b/solon-projects/nami_old/nami.coder.fastjson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.fastjson2/pom.xml b/solon-projects/nami_old/nami.coder.fastjson2/pom.xml
index 54cd3b23d9a95c9110f9950c3e58ced12fd7c0a7..4a66198c39dbe85846b0956be0f8f90a108fe148 100644
--- a/solon-projects/nami_old/nami.coder.fastjson2/pom.xml
+++ b/solon-projects/nami_old/nami.coder.fastjson2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.fury/pom.xml b/solon-projects/nami_old/nami.coder.fury/pom.xml
index 0be87da12c5f5c18ebdde3f8c16cf8813b1c1011..7f81222defe6582df2b017fea9c41b4e0b37b981 100644
--- a/solon-projects/nami_old/nami.coder.fury/pom.xml
+++ b/solon-projects/nami_old/nami.coder.fury/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.hessian/pom.xml b/solon-projects/nami_old/nami.coder.hessian/pom.xml
index 1cd1bea57f6b59b766cd694f3badda9db1e2075a..a003579bc608e7b144f0ee25f50de164504b6e1b 100644
--- a/solon-projects/nami_old/nami.coder.hessian/pom.xml
+++ b/solon-projects/nami_old/nami.coder.hessian/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.jackson/pom.xml b/solon-projects/nami_old/nami.coder.jackson/pom.xml
index a04ba31bf065611ea0404aebf993d554ba888024..2075ff20952107e891cd9185ab577f55fdd29ac4 100644
--- a/solon-projects/nami_old/nami.coder.jackson/pom.xml
+++ b/solon-projects/nami_old/nami.coder.jackson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.protostuff/pom.xml b/solon-projects/nami_old/nami.coder.protostuff/pom.xml
index 297d518bfd79fdb138b5738814f83c6371c16913..59bbca15bff5965fd3e92532e05678679340c0f9 100644
--- a/solon-projects/nami_old/nami.coder.protostuff/pom.xml
+++ b/solon-projects/nami_old/nami.coder.protostuff/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/nami_old/nami.coder.snack3/pom.xml b/solon-projects/nami_old/nami.coder.snack3/pom.xml
index fd282c04862c2acb6e85320ebfd093057f66434c..82d0160e4e0080541e3cc599a6d526cc6f4e2524 100644
--- a/solon-projects/nami_old/nami.coder.snack3/pom.xml
+++ b/solon-projects/nami_old/nami.coder.snack3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base/solon-hotplug/pom.xml b/solon-projects/solon-base/solon-hotplug/pom.xml
index 3d7bea35ce5f5ce08bbc08056126dd9f1195f5ca..071613904b9594ae7a4e4f4e2647ff30d788af1e 100644
--- a/solon-projects/solon-base/solon-hotplug/pom.xml
+++ b/solon-projects/solon-base/solon-hotplug/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base/solon-i18n/pom.xml b/solon-projects/solon-base/solon-i18n/pom.xml
index e87b7a9ccc666102386bf839bcf7b7351d2696fa..6109994d14d436e2b11da4060ae6d607504b5a1d 100644
--- a/solon-projects/solon-base/solon-i18n/pom.xml
+++ b/solon-projects/solon-base/solon-i18n/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base/solon-mvc/pom.xml b/solon-projects/solon-base/solon-mvc/pom.xml
index 384012a0b8a0e01593af07369716150ca5f08274..46fd5dd5093727f8e2cb1adafefbfad02a645aea 100644
--- a/solon-projects/solon-base/solon-mvc/pom.xml
+++ b/solon-projects/solon-base/solon-mvc/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base/solon-proxy/pom.xml b/solon-projects/solon-base/solon-proxy/pom.xml
index 94b484c996830014b884ed0615c67e569db9fef5..ae28eade54ade7e0a2c90439cefd6726dc0cdba2 100644
--- a/solon-projects/solon-base/solon-proxy/pom.xml
+++ b/solon-projects/solon-base/solon-proxy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.banner/pom.xml b/solon-projects/solon-base_old/solon.banner/pom.xml
index 3600de762cea68188d0c3ddf33c23a71ea066b39..6496b86739c47c7d4661f43133e9e6a78425ee60 100644
--- a/solon-projects/solon-base_old/solon.banner/pom.xml
+++ b/solon-projects/solon-base_old/solon.banner/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.config.yaml/pom.xml b/solon-projects/solon-base_old/solon.config.yaml/pom.xml
index 60186a760ba27cc134db2f09f59a8bf7a63258b4..4712ef61bab81c71aa5500afbc804ce7ef98126b 100644
--- a/solon-projects/solon-base_old/solon.config.yaml/pom.xml
+++ b/solon-projects/solon-base_old/solon.config.yaml/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.hotplug/pom.xml b/solon-projects/solon-base_old/solon.hotplug/pom.xml
index 04288e96b42aa05a1dfd2880116885d82738df0f..44ccb587f389d19607879d50da6b4bfff8d0c6e6 100644
--- a/solon-projects/solon-base_old/solon.hotplug/pom.xml
+++ b/solon-projects/solon-base_old/solon.hotplug/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.i18n/pom.xml b/solon-projects/solon-base_old/solon.i18n/pom.xml
index 0c3d3d05bca818b5d531daa57604687481f9c3c1..9ca29fab118305aa4a832437cf5960247dfe072a 100644
--- a/solon-projects/solon-base_old/solon.i18n/pom.xml
+++ b/solon-projects/solon-base_old/solon.i18n/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.mvc/pom.xml b/solon-projects/solon-base_old/solon.mvc/pom.xml
index 37ff019d26e006b94e726f3406977804531f53a1..970c74c6d9b91f2e88b05a00cb068ef25da8563c 100644
--- a/solon-projects/solon-base_old/solon.mvc/pom.xml
+++ b/solon-projects/solon-base_old/solon.mvc/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-base_old/solon.proxy/pom.xml b/solon-projects/solon-base_old/solon.proxy/pom.xml
index cdba05444441c9fe0bf590b8b891b1c6f9a02243..c9ec15b3de14de922fd9732796dcfde4ab913a11 100644
--- a/solon-projects/solon-base_old/solon.proxy/pom.xml
+++ b/solon-projects/solon-base_old/solon.proxy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-jdkhttp/pom.xml b/solon-projects/solon-boot/solon-boot-jdkhttp/pom.xml
index 8d0861d84fa875c5e41d66654a49721cc7976ef1..eafbb076e27f4c186f84df3fc3c4cda6842adb77 100644
--- a/solon-projects/solon-boot/solon-boot-jdkhttp/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-jdkhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-jetty-add-jsp/pom.xml b/solon-projects/solon-boot/solon-boot-jetty-add-jsp/pom.xml
index c2c9c868482df6deeb2c31ad24c31b35e88ab117..ace803d3672100f8ab2c89a9a5cf03a650b2c87f 100644
--- a/solon-projects/solon-boot/solon-boot-jetty-add-jsp/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-jetty-add-jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-jetty-add-websocket/pom.xml b/solon-projects/solon-boot/solon-boot-jetty-add-websocket/pom.xml
index 0877c526f8e8939bc72c5cd66a6daa1bad4492be..a8c7b340d5ee0ee21d5238a4a294403fe27ecb11 100644
--- a/solon-projects/solon-boot/solon-boot-jetty-add-websocket/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-jetty-add-websocket/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-jetty/pom.xml b/solon-projects/solon-boot/solon-boot-jetty/pom.xml
index 189f19b7636d5731f09a59b9f6bcb50c28e0fded..45e24d1d2d11bbee967fa976a2bff4a62b2877b3 100644
--- a/solon-projects/solon-boot/solon-boot-jetty/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-jetty/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-jlhttp/pom.xml b/solon-projects/solon-boot/solon-boot-jlhttp/pom.xml
index 57131e5092cde1685a6c3999f596ac605b6886b5..2f8739494419356ab0c97405378e3f1417acaefa 100644
--- a/solon-projects/solon-boot/solon-boot-jlhttp/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-jlhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-smarthttp/pom.xml b/solon-projects/solon-boot/solon-boot-smarthttp/pom.xml
index 93e39f1168530f1be867a56c4fbef5d5453595f2..8d6021643ac7d7e7510fd885a0e8756514349ddd 100644
--- a/solon-projects/solon-boot/solon-boot-smarthttp/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-smarthttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-socketd/pom.xml b/solon-projects/solon-boot/solon-boot-socketd/pom.xml
index b03a34858846c342f9ead3a93c7c7ae4971bcff8..7bd104d40517e1153fd5c0fd81ded3fd796a9f38 100644
--- a/solon-projects/solon-boot/solon-boot-socketd/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-socketd/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-undertow-add-jsp/pom.xml b/solon-projects/solon-boot/solon-boot-undertow-add-jsp/pom.xml
index 655026e4fe9c50f59d8a209f7fba115279994681..7bd9128be426509450022345ac089a94946ae47b 100644
--- a/solon-projects/solon-boot/solon-boot-undertow-add-jsp/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-undertow-add-jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-undertow/pom.xml b/solon-projects/solon-boot/solon-boot-undertow/pom.xml
index d0fbcf145e8785c2fcfb7c44a4c7a233189365ce..ca1f203113804f03a6b18ad5155ee5b6b04499df 100644
--- a/solon-projects/solon-boot/solon-boot-undertow/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-undertow/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-vertx/pom.xml b/solon-projects/solon-boot/solon-boot-vertx/pom.xml
index 057af35a7b853f8c81f83dff585bb615debd9695..c45dd63d0c0216d67024bf0a6e4b69ee6742ca78 100644
--- a/solon-projects/solon-boot/solon-boot-vertx/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-vertx/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-websocket-netty/pom.xml b/solon-projects/solon-boot/solon-boot-websocket-netty/pom.xml
index df1ed3c7049532f236deeb1dbb9160fb66009b1c..9d340a6d0f983aa729e6cf915e7333eb27aaa14a 100644
--- a/solon-projects/solon-boot/solon-boot-websocket-netty/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-websocket-netty/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot-websocket/pom.xml b/solon-projects/solon-boot/solon-boot-websocket/pom.xml
index 502e5ec3540b83d5e28e8d8741f84a99e9471488..15981c218daf056e74be94c8f76b9a00cf4ab850 100644
--- a/solon-projects/solon-boot/solon-boot-websocket/pom.xml
+++ b/solon-projects/solon-boot/solon-boot-websocket/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot/pom.xml b/solon-projects/solon-boot/solon-boot/pom.xml
index efcd394c4e866222adde55c9961ab20b817f3941..150f3781f93d210128f73071dde935e11af2fb86 100644
--- a/solon-projects/solon-boot/solon-boot/pom.xml
+++ b/solon-projects/solon-boot/solon-boot/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/boot/web/MimeType.java b/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/boot/web/MimeType.java
index 5412d7bbbd6c4c16fbfedcba5e0ce4eee9c93a91..d25db58ee3750a97724594ea2f805009effe1e1d 100644
--- a/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/boot/web/MimeType.java
+++ b/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/boot/web/MimeType.java
@@ -15,12 +15,16 @@
*/
package org.noear.solon.boot.web;
+import org.noear.solon.Utils;
+
/**
* Web 媒体类型
*
* @author noear
* @since 1.10
+ * @deprecated 3.1 {@link MimeType}
*/
+@Deprecated
public final class MimeType {
public static final String ALL_VALUE = "*/*";
public static final String APPLICATION_ATOM_XML_VALUE = "application/atom+xml";
@@ -43,9 +47,27 @@ public final class MimeType {
public static final String IMAGE_PNG_VALUE = "image/png";
public static final String MULTIPART_FORM_DATA_VALUE = "multipart/form-data";
public static final String TEXT_EVENT_STREAM_VALUE = "text/event-stream";
+ public static final String TEXT_EVENT_STREAM_UTF8_VALUE = "text/event-stream;charset=UTF-8";
public static final String TEXT_HTML_VALUE = "text/html";
public static final String TEXT_JSON_VALUE = "text/json";
public static final String TEXT_MARKDOWN_VALUE = "text/markdown";
public static final String TEXT_PLAIN_VALUE = "text/plain";
public static final String TEXT_XML_VALUE = "text/xml";
+
+ /**
+ * 是否为流类型
+ *
+ * @since 3.1
+ */
+ public static boolean isStreaming(String mimeType) {
+ if (Utils.isNotEmpty(mimeType)) {
+ if (mimeType.startsWith(APPLICATION_X_NDJSON_VALUE)) {
+ return true;
+ } else if (mimeType.contains("stream")) {
+ return true;
+ }
+ }
+
+ return false;
+ }
}
diff --git a/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/web/util/MimeType.java b/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/web/util/MimeType.java
new file mode 100644
index 0000000000000000000000000000000000000000..13aee4665e87f4482c55f8cc436c64ddcf68924b
--- /dev/null
+++ b/solon-projects/solon-boot/solon-boot/src/main/java/org/noear/solon/web/util/MimeType.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2017-2025 noear.org and authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.noear.solon.web.util;
+
+import org.noear.solon.Utils;
+
+/**
+ * Web 媒体类型
+ *
+ * @author noear
+ * @since 1.10
+ * @since 3.1
+ */
+public final class MimeType {
+ public static final String ALL_VALUE = "*/*";
+ public static final String APPLICATION_ATOM_XML_VALUE = "application/atom+xml";
+ public static final String APPLICATION_FORM_URLENCODED_VALUE = "application/x-www-form-urlencoded";
+ public static final String APPLICATION_JSON_VALUE = "application/json";
+ public static final String APPLICATION_JSON_UTF8_VALUE = "application/json;charset=UTF-8";
+ public static final String APPLICATION_OCTET_STREAM_VALUE = "application/octet-stream";
+ public static final String APPLICATION_PDF_VALUE = "application/pdf";
+ public static final String APPLICATION_PROBLEM_JSON_VALUE = "application/problem+json";
+ public static final String APPLICATION_PROBLEM_JSON_UTF8_VALUE = "application/problem+json;charset=UTF-8";
+ public static final String APPLICATION_PROBLEM_XML_VALUE = "application/problem+xml";
+ public static final String APPLICATION_RSS_XML_VALUE = "application/rss+xml";
+ public static final String APPLICATION_STREAM_JSON_VALUE = "application/stream+json";
+ public static final String APPLICATION_XHTML_XML_VALUE = "application/xhtml+xml";
+ public static final String APPLICATION_XML_VALUE = "application/xml";
+ public static final String APPLICATION_X_NDJSON_VALUE = "application/x-ndjson";
+ public static final String APPLICATION_X_NDJSON_UTF8_VALUE = "application/x-ndjson;charset=UTF-8";
+ public static final String IMAGE_GIF_VALUE = "image/gif";
+ public static final String IMAGE_JPEG_VALUE = "image/jpeg";
+ public static final String IMAGE_PNG_VALUE = "image/png";
+ public static final String MULTIPART_FORM_DATA_VALUE = "multipart/form-data";
+ public static final String TEXT_EVENT_STREAM_VALUE = "text/event-stream";
+ public static final String TEXT_EVENT_STREAM_UTF8_VALUE = "text/event-stream;charset=UTF-8";
+ public static final String TEXT_HTML_VALUE = "text/html";
+ public static final String TEXT_JSON_VALUE = "text/json";
+ public static final String TEXT_MARKDOWN_VALUE = "text/markdown";
+ public static final String TEXT_PLAIN_VALUE = "text/plain";
+ public static final String TEXT_XML_VALUE = "text/xml";
+
+ /**
+ * 是否为流类型
+ *
+ * @since 3.1
+ */
+ public static boolean isStreaming(String mimeType) {
+ if (Utils.isNotEmpty(mimeType)) {
+ if (mimeType.startsWith(APPLICATION_X_NDJSON_VALUE)) {
+ return true;
+ } else if (mimeType.contains("stream")) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/solon-projects/solon-boot_old/solon.boot.jdkhttp/pom.xml b/solon-projects/solon-boot_old/solon.boot.jdkhttp/pom.xml
index f18979978c94cb6649d86dbc4e8fe6dc2682e2b9..f4d26d223caa7ba70e03078a65f4faf1da800097 100644
--- a/solon-projects/solon-boot_old/solon.boot.jdkhttp/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.jdkhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.jetty.add.jsp/pom.xml b/solon-projects/solon-boot_old/solon.boot.jetty.add.jsp/pom.xml
index 00cf945f6c6638256c3b43cee593416e774c6a4a..13109c3bfa130b8aaa2c9f008a36ab7f5cfcf65c 100644
--- a/solon-projects/solon-boot_old/solon.boot.jetty.add.jsp/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.jetty.add.jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.jetty.add.websocket/pom.xml b/solon-projects/solon-boot_old/solon.boot.jetty.add.websocket/pom.xml
index ce8fc1104cc112d62890a988295e0b4d8d86823b..46be28438650627afed8c74699660b54f1360209 100644
--- a/solon-projects/solon-boot_old/solon.boot.jetty.add.websocket/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.jetty.add.websocket/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.jetty/pom.xml b/solon-projects/solon-boot_old/solon.boot.jetty/pom.xml
index 8c6fd3ba2ba566e782110d4e29c6cffbbc712b74..7a5fbc2e9561a8aaeaafdb0448e3f0c5c78f88b1 100644
--- a/solon-projects/solon-boot_old/solon.boot.jetty/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.jetty/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.jlhttp/pom.xml b/solon-projects/solon-boot_old/solon.boot.jlhttp/pom.xml
index 6bb58c5bc71df2b8affc10c8878dfe1c4e1ab93d..33d640ede186f6d5f567bede6d428691372fcad2 100644
--- a/solon-projects/solon-boot_old/solon.boot.jlhttp/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.jlhttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.smarthttp/pom.xml b/solon-projects/solon-boot_old/solon.boot.smarthttp/pom.xml
index 65897bb91a72fef3593b2141b7ff35330da8fa8b..4120f30d8748122e99283f7417d87fe932bf1bff 100644
--- a/solon-projects/solon-boot_old/solon.boot.smarthttp/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.smarthttp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.socketd/pom.xml b/solon-projects/solon-boot_old/solon.boot.socketd/pom.xml
index c015e47e5c32f13bb19dfa98ffd906d97c3e3d53..53b8e902fd9c19fe2fff5e072ea0ca7803d2dd62 100644
--- a/solon-projects/solon-boot_old/solon.boot.socketd/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.socketd/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.undertow.add.jsp/pom.xml b/solon-projects/solon-boot_old/solon.boot.undertow.add.jsp/pom.xml
index a759690656d535d5e924a7e37d72dcd014e6aaa6..c05a9bd4551b2dc4f5147942c6dd6d06ae1f6d1a 100644
--- a/solon-projects/solon-boot_old/solon.boot.undertow.add.jsp/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.undertow.add.jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.undertow/pom.xml b/solon-projects/solon-boot_old/solon.boot.undertow/pom.xml
index 9ef78b736cb4ac462d14a8a719e3611c5b531254..f385ca07702b620c27988c3983d6b4b067084b28 100644
--- a/solon-projects/solon-boot_old/solon.boot.undertow/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.undertow/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.vertx/pom.xml b/solon-projects/solon-boot_old/solon.boot.vertx/pom.xml
index 2100faa73f29a797fbac103d03cdc9b45f26db32..3d9da293000808676fd8efc7318b511c3de5dba4 100644
--- a/solon-projects/solon-boot_old/solon.boot.vertx/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.vertx/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.websocket.netty/pom.xml b/solon-projects/solon-boot_old/solon.boot.websocket.netty/pom.xml
index 36b48004456832f6c1112a3f6c9d6bcf494d3015..b7102a6e3d66901453472588834864a012e0e6a7 100644
--- a/solon-projects/solon-boot_old/solon.boot.websocket.netty/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.websocket.netty/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot.websocket/pom.xml b/solon-projects/solon-boot_old/solon.boot.websocket/pom.xml
index 75b81d46dec10c29b7d2f82377d1da55bba73173..b8800599c4146189ccbad767eaccbbc1ac2e8cbd 100644
--- a/solon-projects/solon-boot_old/solon.boot.websocket/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot.websocket/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-boot_old/solon.boot/pom.xml b/solon-projects/solon-boot_old/solon.boot/pom.xml
index 719c6b5adb99c0b063a130a95537cec12753b3e6..6c0342914a7b71adb938f53428fea64fc22124b9 100644
--- a/solon-projects/solon-boot_old/solon.boot/pom.xml
+++ b/solon-projects/solon-boot_old/solon.boot/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud-eventplus/pom.xml b/solon-projects/solon-cloud/solon-cloud-eventplus/pom.xml
index 60cd2653f9c1e2d9ee71a0cb35545a4fd5e8c162..b18502b0fb5fd22fb3df22a74bdd339c41f85fd5 100644
--- a/solon-projects/solon-cloud/solon-cloud-eventplus/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud-eventplus/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud-gateway/pom.xml b/solon-projects/solon-cloud/solon-cloud-gateway/pom.xml
index 49fc0760a0f456c47def46ec6f8fe01c90f2cb21..04d3bac9b6abd106ad276eae41faea8efaf7a674 100644
--- a/solon-projects/solon-cloud/solon-cloud-gateway/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud-gateway/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud-metrics/pom.xml b/solon-projects/solon-cloud/solon-cloud-metrics/pom.xml
index 66fd83cec4729f39d63645e157b06b8422375228..331a2bffd8813fbd014898489bf8a60463ac5943 100644
--- a/solon-projects/solon-cloud/solon-cloud-metrics/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud-metrics/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud-telemetry/pom.xml b/solon-projects/solon-cloud/solon-cloud-telemetry/pom.xml
index c2d278e534d96ff0540159d18d36f43c7a04f339..e460365039c506efca2e830fb0c144ccfe6683a8 100644
--- a/solon-projects/solon-cloud/solon-cloud-telemetry/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud-telemetry/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud-tracing/pom.xml b/solon-projects/solon-cloud/solon-cloud-tracing/pom.xml
index b708239838a9232f51a6748494fd8aa96aeddedd..c7f12da3253064856d49d0231358df76b21aa0fa 100644
--- a/solon-projects/solon-cloud/solon-cloud-tracing/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud-tracing/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud/solon-cloud/pom.xml b/solon-projects/solon-cloud/solon-cloud/pom.xml
index 53400bfa3f95ce829e359562b80305a3e9fe1469..070848cc3bf01825c71c5dea6b0e88528593bcf7 100644
--- a/solon-projects/solon-cloud/solon-cloud/pom.xml
+++ b/solon-projects/solon-cloud/solon-cloud/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud_old/solon.cloud.eventplus/pom.xml b/solon-projects/solon-cloud_old/solon.cloud.eventplus/pom.xml
index bc1ad6927548e6df875ebb891545af56dd05a7f9..869148d74f25b37306cb4c214545fdaf557fbade 100644
--- a/solon-projects/solon-cloud_old/solon.cloud.eventplus/pom.xml
+++ b/solon-projects/solon-cloud_old/solon.cloud.eventplus/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud_old/solon.cloud.gateway/pom.xml b/solon-projects/solon-cloud_old/solon.cloud.gateway/pom.xml
index fae8f221ad04e103cebff6285c59fec816848c57..2b3d98b4a76619a258f2996f04f70660c19ec141 100644
--- a/solon-projects/solon-cloud_old/solon.cloud.gateway/pom.xml
+++ b/solon-projects/solon-cloud_old/solon.cloud.gateway/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud_old/solon.cloud.metrics/pom.xml b/solon-projects/solon-cloud_old/solon.cloud.metrics/pom.xml
index f0bf6a885dbfa683c1bbdbddf7bdaa0d5535c867..43ee1253a5a2e0dd154951d4ab20ff47cb3938e9 100644
--- a/solon-projects/solon-cloud_old/solon.cloud.metrics/pom.xml
+++ b/solon-projects/solon-cloud_old/solon.cloud.metrics/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud_old/solon.cloud.tracing/pom.xml b/solon-projects/solon-cloud_old/solon.cloud.tracing/pom.xml
index 46284d3aebedef06d67fca3a2f28a77ccb7520f8..55c7bb42219def6dff570ff15689383cd051e293 100644
--- a/solon-projects/solon-cloud_old/solon.cloud.tracing/pom.xml
+++ b/solon-projects/solon-cloud_old/solon.cloud.tracing/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-cloud_old/solon.cloud/pom.xml b/solon-projects/solon-cloud_old/solon.cloud/pom.xml
index b116c9847a4f6d272a8e4247ca2b72b3ae88c18c..a79cf3f630ad3cf0189a330eb38372ecf7f6b471 100644
--- a/solon-projects/solon-cloud_old/solon.cloud/pom.xml
+++ b/solon-projects/solon-cloud_old/solon.cloud/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-config/solon-config-banner/pom.xml b/solon-projects/solon-config/solon-config-banner/pom.xml
index 61620d62ac21f7326593a142f76b511e029f8a4b..098fbbf13a8ed9e700a3823914ff94ab83abc984 100644
--- a/solon-projects/solon-config/solon-config-banner/pom.xml
+++ b/solon-projects/solon-config/solon-config-banner/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-config/solon-config-plus/pom.xml b/solon-projects/solon-config/solon-config-plus/pom.xml
index 4a60e47cdd9bba90433c6eec62b255b017a07d72..2e441b957576b19268faa5f97e8ad6717e545d79 100644
--- a/solon-projects/solon-config/solon-config-plus/pom.xml
+++ b/solon-projects/solon-config/solon-config-plus/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-config/solon-config-yaml/pom.xml b/solon-projects/solon-config/solon-config-yaml/pom.xml
index fdcdd787caf05a344507457537a3df5913e277da..27750dce5bfac800ce6c1cab1e5459ea428b94d1 100644
--- a/solon-projects/solon-config/solon-config-yaml/pom.xml
+++ b/solon-projects/solon-config/solon-config-yaml/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-cache-caffeine/pom.xml b/solon-projects/solon-data/solon-cache-caffeine/pom.xml
index fd73f56bb43399f8a736941412c990b19f3ee05c..6523d03579639bc0fe1adac98614d9aa6cd48af9 100644
--- a/solon-projects/solon-data/solon-cache-caffeine/pom.xml
+++ b/solon-projects/solon-data/solon-cache-caffeine/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-cache-jedis/pom.xml b/solon-projects/solon-data/solon-cache-jedis/pom.xml
index d88e963fb9786b706b76eec3fae28029a3aaaef1..d8f5f75106de39bafebb0e88518c595180ed0ccb 100644
--- a/solon-projects/solon-data/solon-cache-jedis/pom.xml
+++ b/solon-projects/solon-data/solon-cache-jedis/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-cache-redisson/pom.xml b/solon-projects/solon-data/solon-cache-redisson/pom.xml
index 8cc5860907529b00c393b85ff80a3dd8ee1acd58..165167aba16b0acefe7d7c3d5ad731aaa365fd1f 100644
--- a/solon-projects/solon-data/solon-cache-redisson/pom.xml
+++ b/solon-projects/solon-data/solon-cache-redisson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-cache-spymemcached/pom.xml b/solon-projects/solon-data/solon-cache-spymemcached/pom.xml
index d6e2abe79f3cc441977e99d0a2659bbc1bd890cd..516c29841f1b9107ba91918151597d2c265252c9 100644
--- a/solon-projects/solon-data/solon-cache-spymemcached/pom.xml
+++ b/solon-projects/solon-data/solon-cache-spymemcached/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data-dynamicds/pom.xml b/solon-projects/solon-data/solon-data-dynamicds/pom.xml
index 163c65cacf6dce224cc85d4a9835dbbb694e0fef..22c0e479bd6a57a8ccdc5f8411a77bb116aa7da2 100644
--- a/solon-projects/solon-data/solon-data-dynamicds/pom.xml
+++ b/solon-projects/solon-data/solon-data-dynamicds/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data-rx-sqlutils/pom.xml b/solon-projects/solon-data/solon-data-rx-sqlutils/pom.xml
index e1d0d826d284f110b14e33d6b27f1dd964974d1a..5d307318c7769cdaf87899b2dd99fc771d2d9097 100644
--- a/solon-projects/solon-data/solon-data-rx-sqlutils/pom.xml
+++ b/solon-projects/solon-data/solon-data-rx-sqlutils/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data-shardingds/pom.xml b/solon-projects/solon-data/solon-data-shardingds/pom.xml
index 1521c3abbebe4d74abc4a0da69baed8639f32d27..90a4f125f90cc11f7cdbe54f87177bdfd73073c9 100644
--- a/solon-projects/solon-data/solon-data-shardingds/pom.xml
+++ b/solon-projects/solon-data/solon-data-shardingds/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data-sqlink/pom.xml b/solon-projects/solon-data/solon-data-sqlink/pom.xml
index fe227f9422107bbc9590c2f9c88f622947dbac93..d5a8efb7e79977ea1af3d5bbb24dcde2cfc7af61 100644
--- a/solon-projects/solon-data/solon-data-sqlink/pom.xml
+++ b/solon-projects/solon-data/solon-data-sqlink/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data-sqlutils/pom.xml b/solon-projects/solon-data/solon-data-sqlutils/pom.xml
index 152341b1dc5f13e8cd3d34324ff39f18b6c7a0b7..3868efba184fb87d846c9c1f0c91cab98c601a81 100644
--- a/solon-projects/solon-data/solon-data-sqlutils/pom.xml
+++ b/solon-projects/solon-data/solon-data-sqlutils/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data/solon-data/pom.xml b/solon-projects/solon-data/solon-data/pom.xml
index 9e808c403bb6cf4f0bbb2bb65281dd25cf2ed07e..829b13508d5d4f490dec347b3dc4e7208a5ef175 100644
--- a/solon-projects/solon-data/solon-data/pom.xml
+++ b/solon-projects/solon-data/solon-data/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.cache.caffeine/pom.xml b/solon-projects/solon-data_old/solon.cache.caffeine/pom.xml
index bc4a0c2adeced5ecf50640bd14d2861ce72f26ba..40f39b4f8635216fbae50656bd7efa8e769ce193 100644
--- a/solon-projects/solon-data_old/solon.cache.caffeine/pom.xml
+++ b/solon-projects/solon-data_old/solon.cache.caffeine/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.cache.jedis/pom.xml b/solon-projects/solon-data_old/solon.cache.jedis/pom.xml
index 2992e4fc8daf66b8840923b0d3e79e0f04c5319c..abb461d540a330398063caba5320b1daa1e869d5 100644
--- a/solon-projects/solon-data_old/solon.cache.jedis/pom.xml
+++ b/solon-projects/solon-data_old/solon.cache.jedis/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.cache.redisson/pom.xml b/solon-projects/solon-data_old/solon.cache.redisson/pom.xml
index cd69f6a8038261f0d4beffadcfa436c029fb3e2e..45a8a64266622b96a7e0a18b7515247d1e7e6f8e 100644
--- a/solon-projects/solon-data_old/solon.cache.redisson/pom.xml
+++ b/solon-projects/solon-data_old/solon.cache.redisson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.cache.spymemcached/pom.xml b/solon-projects/solon-data_old/solon.cache.spymemcached/pom.xml
index e38aed382881f856ec908bce467f43c15e9f4ca8..e6fa8b9e7142018e5193c9a7336a9abd4600ad3c 100644
--- a/solon-projects/solon-data_old/solon.cache.spymemcached/pom.xml
+++ b/solon-projects/solon-data_old/solon.cache.spymemcached/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.data.dynamicds/pom.xml b/solon-projects/solon-data_old/solon.data.dynamicds/pom.xml
index aba83294d2570e6e4dd4ee50803c89783500faa8..a1db334a3aa61af5909c89790d50f4a26ac880e9 100644
--- a/solon-projects/solon-data_old/solon.data.dynamicds/pom.xml
+++ b/solon-projects/solon-data_old/solon.data.dynamicds/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.data.shardingds/pom.xml b/solon-projects/solon-data_old/solon.data.shardingds/pom.xml
index c36382341561261ea683047e4007e6a1bed6654b..3915c9762975e6d3ea50958a9b53a9726648220e 100644
--- a/solon-projects/solon-data_old/solon.data.shardingds/pom.xml
+++ b/solon-projects/solon-data_old/solon.data.shardingds/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-data_old/solon.data/pom.xml b/solon-projects/solon-data_old/solon.data/pom.xml
index 4d3e13219c9be31b0f0f6d380fa73a68a2cea126..1d6090d6b5077e0655dc6ab4c7d18bdcc26ca92e 100644
--- a/solon-projects/solon-data_old/solon.data/pom.xml
+++ b/solon-projects/solon-data_old/solon.data/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-detector/solon-health-detector/pom.xml b/solon-projects/solon-detector/solon-health-detector/pom.xml
index bb60510309d96e8ff5e202b5e477c48eedba7eac..fb196a7c85c0c3e613b6d610d9468d437c62ef01 100644
--- a/solon-projects/solon-detector/solon-health-detector/pom.xml
+++ b/solon-projects/solon-detector/solon-health-detector/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-detector/solon-health/pom.xml b/solon-projects/solon-detector/solon-health/pom.xml
index 949379623db15289c08be7a166b903dfbf892572..02042c640ae166ac7f311bfe929ebcac0dd3e868 100644
--- a/solon-projects/solon-detector/solon-health/pom.xml
+++ b/solon-projects/solon-detector/solon-health/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-detector_old/solon.health.detector/pom.xml b/solon-projects/solon-detector_old/solon.health.detector/pom.xml
index 16a6abcd6a86b29a3783541111f7192591cebe61..4f52a45310c4b7ce3be319d203e80e865a3b07e0 100644
--- a/solon-projects/solon-detector_old/solon.health.detector/pom.xml
+++ b/solon-projects/solon-detector_old/solon.health.detector/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-detector_old/solon.health/pom.xml b/solon-projects/solon-detector_old/solon.health/pom.xml
index a11f440323f26940543b76e58505a9e5b2fdd07f..9a71b91a1f52b08aef1aedefa21818dfe0f76057 100644
--- a/solon-projects/solon-detector_old/solon.health/pom.xml
+++ b/solon-projects/solon-detector_old/solon.health/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-docs-openapi2-javadoc/pom.xml b/solon-projects/solon-docs/solon-docs-openapi2-javadoc/pom.xml
index 40aa607e665cfe3bf2219629b03f12fb0b23a1e0..e70bcbc02086dd9c41f19b72042184b906a11c19 100644
--- a/solon-projects/solon-docs/solon-docs-openapi2-javadoc/pom.xml
+++ b/solon-projects/solon-docs/solon-docs-openapi2-javadoc/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-docs-openapi2/pom.xml b/solon-projects/solon-docs/solon-docs-openapi2/pom.xml
index 13537019fdeedafc990acee3b4c2e559da498f88..8becf8d2b74ed2191a203348c9f85e602920b854 100644
--- a/solon-projects/solon-docs/solon-docs-openapi2/pom.xml
+++ b/solon-projects/solon-docs/solon-docs-openapi2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-docs-openapi2/src/main/java/org/noear/solon/docs/openapi2/OpenApi2Builder.java b/solon-projects/solon-docs/solon-docs-openapi2/src/main/java/org/noear/solon/docs/openapi2/OpenApi2Builder.java
index 59964d1852ac750f1052f4433bd25ad9f5c82495..e3609f2f4b9e89961c7e5946ffd0fa4181f6c40e 100644
--- a/solon-projects/solon-docs/solon-docs-openapi2/src/main/java/org/noear/solon/docs/openapi2/OpenApi2Builder.java
+++ b/solon-projects/solon-docs/solon-docs-openapi2/src/main/java/org/noear/solon/docs/openapi2/OpenApi2Builder.java
@@ -405,7 +405,10 @@ public class OpenApi2Builder {
continue;
}
- String paramSchema = this.getParameterSchema(paramHolder);
+ String paramSchema = null;
+ if (isRequiredBody) {
+ paramSchema = this.getParameterSchema(paramHolder);
+ }
String dataType = paramHolder.dataType();
Parameter parameter;
diff --git a/solon-projects/solon-docs/solon-docs-openapi3/pom.xml b/solon-projects/solon-docs/solon-docs-openapi3/pom.xml
index 07fafb27c7a0868da7ad448e9a4c541b7d91859c..0352afc208335015868cb81c5d6716e845b35a89 100644
--- a/solon-projects/solon-docs/solon-docs-openapi3/pom.xml
+++ b/solon-projects/solon-docs/solon-docs-openapi3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-docs/pom.xml b/solon-projects/solon-docs/solon-docs/pom.xml
index 2c32df3d106567a6daea1f2687449c760d8266cd..9ca9dc8ac4a219347b6ca37849f8c3dda575c585 100644
--- a/solon-projects/solon-docs/solon-docs/pom.xml
+++ b/solon-projects/solon-docs/solon-docs/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-openapi2-knife4j/pom.xml b/solon-projects/solon-docs/solon-openapi2-knife4j/pom.xml
index 4fb1736a10801f3513efe54d631906aaa91f0e0b..2cb19717d10e3c0b057bff042c5f8205af919649 100644
--- a/solon-projects/solon-docs/solon-openapi2-knife4j/pom.xml
+++ b/solon-projects/solon-docs/solon-openapi2-knife4j/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs/solon-swagger2-knife4j/pom.xml b/solon-projects/solon-docs/solon-swagger2-knife4j/pom.xml
index 958f62c06c4e8ae879f7063d4d74a223b068a194..4c276741cfe3c558cdb743828cdbb8accef09682 100644
--- a/solon-projects/solon-docs/solon-swagger2-knife4j/pom.xml
+++ b/solon-projects/solon-docs/solon-swagger2-knife4j/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs_old/solon.docs.openapi2/pom.xml b/solon-projects/solon-docs_old/solon.docs.openapi2/pom.xml
index bd16c1398b40ce2832ee1d61295928bbebec63d4..66a7710a623f9901f6aa5b1580743edc15b5899a 100644
--- a/solon-projects/solon-docs_old/solon.docs.openapi2/pom.xml
+++ b/solon-projects/solon-docs_old/solon.docs.openapi2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-docs_old/solon.docs/pom.xml b/solon-projects/solon-docs_old/solon.docs/pom.xml
index 544658e3dd98e7d9bb01df599dc08c0f26f3737b..c184eaca1e7abe38f06f1c0687e15f5d72f0601b 100644
--- a/solon-projects/solon-docs_old/solon.docs/pom.xml
+++ b/solon-projects/solon-docs_old/solon.docs/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-faas/solon-faas-luffy/pom.xml b/solon-projects/solon-faas/solon-faas-luffy/pom.xml
index 9d7499e00784721757aad44d1c8b4008e674ac79..1592f9775ca04c6919be59ecab97db2c2cb08d4e 100644
--- a/solon-projects/solon-faas/solon-faas-luffy/pom.xml
+++ b/solon-projects/solon-faas/solon-faas-luffy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-faas_old/solon.luffy/pom.xml b/solon-projects/solon-faas_old/solon.luffy/pom.xml
index a89a7dedbf10f14a09bf7bcba6a01bb50fb7f384..2d77688ce5d210ad763bfc65bfc5363c87aff943 100644
--- a/solon-projects/solon-faas_old/solon.luffy/pom.xml
+++ b/solon-projects/solon-faas_old/solon.luffy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-flow/solon-flow/pom.xml b/solon-projects/solon-flow/solon-flow/pom.xml
index 1599905a93ce51cda0a8a227ad913f5e2cfc03c7..e28c1d5aa898188a4f54eaecdecd78930daaf10b 100644
--- a/solon-projects/solon-flow/solon-flow/pom.xml
+++ b/solon-projects/solon-flow/solon-flow/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/Chain.java b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/Chain.java
index bfb675101fa058330ddaa7bf89d3d5620f5cf802..542b965f4e2a620dc0c2cf2500cb03dd4939ba68 100644
--- a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/Chain.java
+++ b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/Chain.java
@@ -131,6 +131,26 @@ public class Chain {
return nodes.get(id);
}
+ /**
+ * 校验
+ */
+ public void check() {
+ //如果没有配置 start 节点
+ if (start == null) {
+ //找到没有流入链接的节点,作为开始节点
+ for (Node node : nodes.values()) {
+ if (Utils.isEmpty(node.prveLinks())) {
+ start = node;
+ break;
+ }
+ }
+ }
+
+ if (start == null) {
+ throw new IllegalStateException("No start node found");
+ }
+ }
+
/// ////////
@@ -225,6 +245,9 @@ public class Chain {
chain.addNode(nodeDecl);
}
+ //校验结构
+ chain.check();
+
return chain;
}
diff --git a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/ChainContext.java b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/ChainContext.java
index 43e4c95d15558e79275916f6a609e3d9c4e73271..40a7a703323c346e83796c471b25410a6b3eead7 100644
--- a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/ChainContext.java
+++ b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/ChainContext.java
@@ -15,25 +15,25 @@
*/
package org.noear.solon.flow;
-import org.noear.solon.flow.driver.SimpleChainDriver;
+import org.noear.liquor.eval.Scripts;
import org.noear.solon.lang.Preview;
-import java.io.Serializable;
-import java.util.HashMap;
+import java.lang.reflect.InvocationTargetException;
+import java.util.LinkedHashMap;
import java.util.Map;
/**
- * 链上下文
+ * 链上下文(不支持序列化)
*
* @author noear
* @since 3.0
*/
@Preview("3.0")
-public class ChainContext implements Serializable {
+public class ChainContext {
//存放数据模型
- private final Map model;
+ private transient final Map model = new LinkedHashMap<>();
//存放执行结果(可选)
- public Object result;
+ public transient Object result;
//控制过程计数
private transient final Counter counter = new Counter();
@@ -48,10 +48,9 @@ public class ChainContext implements Serializable {
}
public ChainContext(Map model) {
- if (model == null) {
- this.model = new HashMap<>();
- } else {
- this.model = model;
+ this.model.put("context", this);
+ if (model != null) {
+ this.model.putAll(model);
}
}
@@ -62,6 +61,14 @@ public class ChainContext implements Serializable {
return engine;
}
+ /**
+ * 运行脚本
+ */
+ public Object run(String script) throws InvocationTargetException {
+ //按脚本运行
+ return Scripts.eval(script, this.model());
+ }
+
/**
* 计数器
*/
@@ -93,7 +100,7 @@ public class ChainContext implements Serializable {
}
/**
- * 设置
+ * 推入
*/
public ChainContext put(String key, Object value) {
model.put(key, value);
@@ -101,7 +108,15 @@ public class ChainContext implements Serializable {
}
/**
- * 设置
+ * 推入
+ */
+ public ChainContext putIfAbsent(String key, Object value) {
+ model.putIfAbsent(key, value);
+ return this;
+ }
+
+ /**
+ * 推入全部
*/
public ChainContext putAll(Map model) {
model.putAll(model);
@@ -121,4 +136,11 @@ public class ChainContext implements Serializable {
public T getOrDefault(String key, T def) {
return (T) model.getOrDefault(key, def);
}
+
+ /**
+ * 移除
+ */
+ public void remove(String key) {
+ model.remove(key);
+ }
}
\ No newline at end of file
diff --git a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngine.java b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngine.java
index 08ee562bc4749334960af3bb2f1b3e24d679a33b..ecf2909798de51602cf8140431d9951d170c6435 100644
--- a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngine.java
+++ b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngine.java
@@ -17,6 +17,8 @@ package org.noear.solon.flow;
import org.noear.solon.lang.Preview;
+import java.util.Collection;
+
/**
* 流引擎
*
@@ -62,7 +64,6 @@ public interface FlowEngine {
*/
void load(Chain chain);
-
/**
* 卸载链
*
@@ -70,6 +71,11 @@ public interface FlowEngine {
*/
void unload(String chainId);
+ /**
+ * 获取链集合
+ */
+ Collection chains();
+
/**
* 评估
*
diff --git a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngineImpl.java b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngineImpl.java
index 98154cb9547c1c6604ca9611a99a86b00da49048..86939ac1a778ed204f4f694d2449fab6ac63649e 100644
--- a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngineImpl.java
+++ b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/FlowEngineImpl.java
@@ -18,10 +18,7 @@ package org.noear.solon.flow;
import org.noear.solon.Utils;
import org.noear.solon.flow.driver.SimpleChainDriver;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -63,6 +60,11 @@ class FlowEngineImpl implements FlowEngine {
chainMap.remove(chainId);
}
+ @Override
+ public Collection chains() {
+ return chainMap.values();
+ }
+
/**
* 评估
*
diff --git a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/driver/SimpleChainDriver.java b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/driver/SimpleChainDriver.java
index f28cba89b592f4591024b33e51f21f1100eb4bb8..1cbe2c74179910fc342096f854b9d6638a1f9f63 100644
--- a/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/driver/SimpleChainDriver.java
+++ b/solon-projects/solon-flow/solon-flow/src/main/java/org/noear/solon/flow/driver/SimpleChainDriver.java
@@ -15,7 +15,6 @@
*/
package org.noear.solon.flow.driver;
-import org.noear.liquor.eval.CodeSpec;
import org.noear.liquor.eval.Exprs;
import org.noear.liquor.eval.Scripts;
import org.noear.solon.Solon;
@@ -24,9 +23,6 @@ import org.noear.solon.flow.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
/**
* 简单的链驱动器
*
@@ -83,11 +79,7 @@ public class SimpleChainDriver implements ChainDriver {
}
protected boolean tryAsScriptCondition(ChainContext context, Condition condition, String description) throws Throwable {
- Map argsMap = new LinkedHashMap<>();
- argsMap.put("context", context);
- argsMap.putAll(context.model());
-
- return (boolean) Exprs.eval(description, argsMap);
+ return (boolean) Exprs.eval(description, context.model());
}
/// //////////////
@@ -149,13 +141,12 @@ public class SimpleChainDriver implements ChainDriver {
*/
protected void tryAsScriptTask(ChainContext context, Task task, String description) throws Throwable {
//按脚本运行
- Map argsMap = new LinkedHashMap<>();
- argsMap.put("context", context);
- argsMap.put("node", task.node());
- argsMap.putAll(context.model());
-
- CodeSpec codeSpec = new CodeSpec(description);
- Object[] args = codeSpec.bind(argsMap);
- Scripts.eval(codeSpec, args);
+ try {
+ context.put("node", task.node());
+
+ Scripts.eval(description, context.model());
+ } finally {
+ context.remove("node");
+ }
}
}
\ No newline at end of file
diff --git a/solon-projects/solon-flow/solon-flow/src/test/java/features/flow/app/AppTest.java b/solon-projects/solon-flow/solon-flow/src/test/java/features/flow/app/AppTest.java
index eadf5ecbb8aaa2ff220e9edd40d8dad57dd604c5..491892a13a1d31a3ed2be80d312cdcf87a58a1c7 100644
--- a/solon-projects/solon-flow/solon-flow/src/test/java/features/flow/app/AppTest.java
+++ b/solon-projects/solon-flow/solon-flow/src/test/java/features/flow/app/AppTest.java
@@ -181,15 +181,4 @@ public class AppTest {
flowEngine.eval("r1", context);
assert order.getScore() == 500;
}
-
- @Test
- public void context_test() {
- String json = "{\"model\":{\"day\":7},\"result\":10}";
- ChainContext context = ONode.load(json).toObject(ChainContext.class);
-
- String json2 = ONode.load(context).toJson();
- System.out.println(json2);
-
- assert json2.equals(json);
- }
}
diff --git a/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case1.chain.json b/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case1.chain.json
index e8d1d187232dce7faea3ea50b36c3f542a390a23..6a3a0d8d31d00d547a93b2c648aa09e83abbb692 100644
--- a/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case1.chain.json
+++ b/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case1.chain.json
@@ -1,8 +1,6 @@
{
"id": "c1",
"nodes": [
- { "type": "start"},
- { "task": "context.result=111;"},
- { "type": "end"}
+ { "task": "context.result=111;"}
]
}
\ No newline at end of file
diff --git a/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case7.chain.yml b/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case7.chain.yml
index 9cd02d3e7e3e23521dd638533803e0770c306601..6616c30c46025ed2254bb144d1472e0331c3c503 100644
--- a/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case7.chain.yml
+++ b/solon-projects/solon-flow/solon-flow/src/test/resources/flow/script_case7.chain.yml
@@ -1,5 +1,8 @@
id: "c7"
title: "简单计算"
+meta:
+ scrip1: |
+ context.result=((int)context.result)+1;
nodes:
- { type: "start"}
- { title: "初始化", task: "context.result=0;"}
@@ -21,7 +24,7 @@ nodes:
- { id: "n4", link: "g5", task: "context.result=((int)context.result)+1;"}
- { id: "n5", link: "g4", task: "context.result=((int)context.result)+1;"}
- { id: "n6", link: "g4", task: "context.result=((int)context.result)+1;"}
- - { id: "n7", link: "g4", task: "context.result=((int)context.result)+1;"}
+ - { id: "n7", link: "g4", task: 'context.run(node.chain().meta().get("scrip1").toString());'}
- { id: "g4", link: "g5", type: "inclusive" }
- { id: "g5", link: "g6", type: "inclusive" }
- { id: "g6", type: "inclusive" }
diff --git a/solon-projects/solon-logging/solon-logging-log4j2/pom.xml b/solon-projects/solon-logging/solon-logging-log4j2/pom.xml
index a939ad8c0cd50cb1168c9d6ad6100e2e4f1cf0c2..380c66e8c1d08ec4733316a6aa358aa1be7619dd 100644
--- a/solon-projects/solon-logging/solon-logging-log4j2/pom.xml
+++ b/solon-projects/solon-logging/solon-logging-log4j2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging/solon-logging-logback/pom.xml b/solon-projects/solon-logging/solon-logging-logback/pom.xml
index 3d6f545d918fc58aa2a1eaf97c8b87b6aeaa5a05..d78f545f2ef29fcbf94a8c3c1276a4ead8b668b6 100644
--- a/solon-projects/solon-logging/solon-logging-logback/pom.xml
+++ b/solon-projects/solon-logging/solon-logging-logback/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging/solon-logging-logback/src/main/java/ch/qos/logback/solon/integration/DefaultLogbackConfiguration.java b/solon-projects/solon-logging/solon-logging-logback/src/main/java/ch/qos/logback/solon/integration/DefaultLogbackConfiguration.java
index 16aab45f3fa210b83b224690351b6634cf888090..97f7ccb5e64073cc5d45fe31ad46de5c27be7091 100644
--- a/solon-projects/solon-logging/solon-logging-logback/src/main/java/ch/qos/logback/solon/integration/DefaultLogbackConfiguration.java
+++ b/solon-projects/solon-logging/solon-logging-logback/src/main/java/ch/qos/logback/solon/integration/DefaultLogbackConfiguration.java
@@ -165,7 +165,7 @@ public class DefaultLogbackConfiguration {
SizeAndTimeBasedRollingPolicy rollingPolicy = new SizeAndTimeBasedRollingPolicy<>();
rollingPolicy.setContext(config.getContext());
rollingPolicy.setFileNamePattern(resolve(config, "${FILE_LOG_ROLLING}"));
- rollingPolicy.setMaxHistory(resolveInt(config, "${FILE_LOG_MAX_HISTORY}}"));
+ rollingPolicy.setMaxHistory(resolveInt(config, "${FILE_LOG_MAX_HISTORY}"));
rollingPolicy.setMaxFileSize(resolveFileSize(config, "${FILE_LOG_MAX_FILE_SIZE}"));
//rollingPolicy.setCleanHistoryOnStart(resolveBoolean(config, "${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}"));
diff --git a/solon-projects/solon-logging/solon-logging-simple/pom.xml b/solon-projects/solon-logging/solon-logging-simple/pom.xml
index e5eabeff4b7c5aa6b930486ed69fe7e599b0db31..416a3a3df32120d056068219a260097309b0f1a6 100644
--- a/solon-projects/solon-logging/solon-logging-simple/pom.xml
+++ b/solon-projects/solon-logging/solon-logging-simple/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging/solon-logging/pom.xml b/solon-projects/solon-logging/solon-logging/pom.xml
index 29f5d18d9f0bf6a46b57cb552a101d2a98456c3f..9f63f20415c2a6cfdd1d8d6349afd281886a229e 100644
--- a/solon-projects/solon-logging/solon-logging/pom.xml
+++ b/solon-projects/solon-logging/solon-logging/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging_old/solon.logging.log4j2/pom.xml b/solon-projects/solon-logging_old/solon.logging.log4j2/pom.xml
index fabfe71e906489a6d2aa56c3e2b56ef9e1bdcb13..f75bdb82a570d9590199d65da11f6a82e625e7e6 100644
--- a/solon-projects/solon-logging_old/solon.logging.log4j2/pom.xml
+++ b/solon-projects/solon-logging_old/solon.logging.log4j2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging_old/solon.logging.logback/pom.xml b/solon-projects/solon-logging_old/solon.logging.logback/pom.xml
index 9efb0a7be85054a1c224844d6fe148c39f57f3b6..90ca32b8e35a6a71ac45bfe82b0d8e65cd168e7b 100644
--- a/solon-projects/solon-logging_old/solon.logging.logback/pom.xml
+++ b/solon-projects/solon-logging_old/solon.logging.logback/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging_old/solon.logging.simple/pom.xml b/solon-projects/solon-logging_old/solon.logging.simple/pom.xml
index 5a41fbbf9165dcecd66f0a523c449e6acb571431..d1faa5f71eb96c49a2f01a86dfc23c9b3826bd76 100644
--- a/solon-projects/solon-logging_old/solon.logging.simple/pom.xml
+++ b/solon-projects/solon-logging_old/solon.logging.simple/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-logging_old/solon.logging/pom.xml b/solon-projects/solon-logging_old/solon.logging/pom.xml
index ce6ed1b502725cb3f814d982902fca262a2f702c..622de28ff2b6f10029c6b0ca17d95d9736c098b6 100644
--- a/solon-projects/solon-logging_old/solon.logging/pom.xml
+++ b/solon-projects/solon-logging_old/solon.logging/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-native/solon-aot/pom.xml b/solon-projects/solon-native/solon-aot/pom.xml
index 475263de2e2af2eaa75b49c49db89b3b3f68c039..db5d0b6ab536ddf38be99b9140cadb4ddce5bd97 100644
--- a/solon-projects/solon-native/solon-aot/pom.xml
+++ b/solon-projects/solon-native/solon-aot/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-native_old/solon.aot/pom.xml b/solon-projects/solon-native_old/solon.aot/pom.xml
index a16c291ea7820919ba534b8bb9045f6ca96ffed2..075e5d667b0dbe3cbc1f205c69f4edd8f6f38e61 100644
--- a/solon-projects/solon-native_old/solon.aot/pom.xml
+++ b/solon-projects/solon-native_old/solon.aot/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-net/solon-net-httputils/pom.xml b/solon-projects/solon-net/solon-net-httputils/pom.xml
index d8b47767395967c34a47c64ad6bd0eea4b9d7dad..1842076252a980d0c3169f71f0d82d606d263ff7 100644
--- a/solon-projects/solon-net/solon-net-httputils/pom.xml
+++ b/solon-projects/solon-net/solon-net-httputils/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-net/solon-net-stomp/pom.xml b/solon-projects/solon-net/solon-net-stomp/pom.xml
index 13fe0f7d1a9f751643749db3943c08a0cae78398..0a5589b0875e4995b2dc0a6331a32dcbb6f266e5 100644
--- a/solon-projects/solon-net/solon-net-stomp/pom.xml
+++ b/solon-projects/solon-net/solon-net-stomp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-net/solon-net/pom.xml b/solon-projects/solon-net/solon-net/pom.xml
index 1b0e60a35dea06774245a4adae0c9dcc107d20b9..b38cb04fa6268e6636074a95b79b072093e5805d 100644
--- a/solon-projects/solon-net/solon-net/pom.xml
+++ b/solon-projects/solon-net/solon-net/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-net_old/solon.net.httputils/pom.xml b/solon-projects/solon-net_old/solon.net.httputils/pom.xml
index ee4a231865cf8740e57d50fc2a22da2215d5fd2c..98175953955d7a0dc841108d3946b2d18d2b313a 100644
--- a/solon-projects/solon-net_old/solon.net.httputils/pom.xml
+++ b/solon-projects/solon-net_old/solon.net.httputils/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-net_old/solon.net/pom.xml b/solon-projects/solon-net_old/solon.net/pom.xml
index b00e99ee2b34fde364a17fc21e4d89e9eac336be..177aab350b2476b262bd45ba1ea3f1134850fc6f 100644
--- a/solon-projects/solon-net_old/solon.net/pom.xml
+++ b/solon-projects/solon-net_old/solon.net/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-rx/solon-rx/pom.xml b/solon-projects/solon-rx/solon-rx/pom.xml
index 8fcb769ab6a2a12b59be99edc857c7532abb8c4d..f2693a14b4564b9cb5bf11c3f6cf2e1ca5f5ada5 100644
--- a/solon-projects/solon-rx/solon-rx/pom.xml
+++ b/solon-projects/solon-rx/solon-rx/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling/solon-scheduling-quartz/pom.xml b/solon-projects/solon-scheduling/solon-scheduling-quartz/pom.xml
index da2c0eb7d861ca0ca0384698d251996b8f2edac6..dffa0ce3c8e0cc3cf3f96e70b99337a3b1716f13 100644
--- a/solon-projects/solon-scheduling/solon-scheduling-quartz/pom.xml
+++ b/solon-projects/solon-scheduling/solon-scheduling-quartz/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling/solon-scheduling-simple/pom.xml b/solon-projects/solon-scheduling/solon-scheduling-simple/pom.xml
index 57dd3a3ff44f98913114e1534cb8cf7bff3e0e46..4f6df0f82aee6a45392c13e78905a27009b941a3 100644
--- a/solon-projects/solon-scheduling/solon-scheduling-simple/pom.xml
+++ b/solon-projects/solon-scheduling/solon-scheduling-simple/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling/solon-scheduling/pom.xml b/solon-projects/solon-scheduling/solon-scheduling/pom.xml
index 70b61b3f8e7b5f93f2ca0715d8400dc485815927..660b5761de14977939d0ab3b33fd8ac22e633409 100644
--- a/solon-projects/solon-scheduling/solon-scheduling/pom.xml
+++ b/solon-projects/solon-scheduling/solon-scheduling/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling_old/solon.scheduling.quartz/pom.xml b/solon-projects/solon-scheduling_old/solon.scheduling.quartz/pom.xml
index 54d1352d93c4229893f4c49a9cc160dbc785efd1..0e04f40373c7078c387a4ad84223eb34ec713894 100644
--- a/solon-projects/solon-scheduling_old/solon.scheduling.quartz/pom.xml
+++ b/solon-projects/solon-scheduling_old/solon.scheduling.quartz/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling_old/solon.scheduling.simple/pom.xml b/solon-projects/solon-scheduling_old/solon.scheduling.simple/pom.xml
index f038e4cc1b055f33e2ce98dfa965939f828e9b31..e54dd5e87b521189bc90020e69220b6cb7117fe2 100644
--- a/solon-projects/solon-scheduling_old/solon.scheduling.simple/pom.xml
+++ b/solon-projects/solon-scheduling_old/solon.scheduling.simple/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-scheduling_old/solon.scheduling/pom.xml b/solon-projects/solon-scheduling_old/solon.scheduling/pom.xml
index 0ff14d6f72cf3fd04ed66f4a904f4490dd163ed5..c4fcfb2c27457eb27eaa34ca3ea8731ec7bce039 100644
--- a/solon-projects/solon-scheduling_old/solon.scheduling/pom.xml
+++ b/solon-projects/solon-scheduling_old/solon.scheduling/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security/solon-security-auth/pom.xml b/solon-projects/solon-security/solon-security-auth/pom.xml
index c0bb2ace330d0dffe7ecdb6f10c3d79936a463fa..b25c2ba871e5f2f9c888a94cd15e5bc5fadab4b0 100644
--- a/solon-projects/solon-security/solon-security-auth/pom.xml
+++ b/solon-projects/solon-security/solon-security-auth/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security/solon-security-validation/pom.xml b/solon-projects/solon-security/solon-security-validation/pom.xml
index e146e8ae67e9630ad6d017791e1fa05ae0719cb0..de563cdf28aebddb0258ff35014aa3c5f23baadf 100644
--- a/solon-projects/solon-security/solon-security-validation/pom.xml
+++ b/solon-projects/solon-security/solon-security-validation/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security/solon-security-vault/pom.xml b/solon-projects/solon-security/solon-security-vault/pom.xml
index 0e1c5bb4023240bf3d213b2a3f360dddaad46054..7c78af8163d79be4eb50e229cebcfd59eff0ca01 100644
--- a/solon-projects/solon-security/solon-security-vault/pom.xml
+++ b/solon-projects/solon-security/solon-security-vault/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.auth/pom.xml b/solon-projects/solon-security_old/solon.auth/pom.xml
index 28299638c0c89b348594d3631bd3df03102c3acb..4d575e9ba7bedb9e57b62c2236c7fd2985fd2972 100644
--- a/solon-projects/solon-security_old/solon.auth/pom.xml
+++ b/solon-projects/solon-security_old/solon.auth/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.security.auth/pom.xml b/solon-projects/solon-security_old/solon.security.auth/pom.xml
index d9f92197b6bb9ff387fec1f7ed71144038349aaf..61c167ef24ad00fed31b336fdb47c47ee85473ba 100644
--- a/solon-projects/solon-security_old/solon.security.auth/pom.xml
+++ b/solon-projects/solon-security_old/solon.security.auth/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.security.validation/pom.xml b/solon-projects/solon-security_old/solon.security.validation/pom.xml
index 7eaddc1f1ad77c88090add94001b38a4d6b85a17..3e290e9f283be85217b2ac0779456ff36da57090 100644
--- a/solon-projects/solon-security_old/solon.security.validation/pom.xml
+++ b/solon-projects/solon-security_old/solon.security.validation/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.security.vault/pom.xml b/solon-projects/solon-security_old/solon.security.vault/pom.xml
index 0b97968154c9947fecb58e3f45a4bd2fd6e2f90c..3788d7fab3be1cc6512459f7257af4953d702ea8 100644
--- a/solon-projects/solon-security_old/solon.security.vault/pom.xml
+++ b/solon-projects/solon-security_old/solon.security.vault/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.validation/pom.xml b/solon-projects/solon-security_old/solon.validation/pom.xml
index 212a4f241b7e9561a6800701b12a9d1e6de6f1a6..1df03c15e43225e6db56e55ece0ce9ca8472bb3f 100644
--- a/solon-projects/solon-security_old/solon.validation/pom.xml
+++ b/solon-projects/solon-security_old/solon.validation/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-security_old/solon.vault/pom.xml b/solon-projects/solon-security_old/solon.vault/pom.xml
index 4d5d91941a83ce3afa95b6b610a07ab2d06d7b9f..08a005316ca3bdadf722ef9c5613b2174f4552ac 100644
--- a/solon-projects/solon-security_old/solon.vault/pom.xml
+++ b/solon-projects/solon-security_old/solon.vault/pom.xml
@@ -6,7 +6,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-abc/pom.xml b/solon-projects/solon-serialization/solon-serialization-abc/pom.xml
index 344ff4b5cd003b1af5c758ef31f0b5ebc6986278..50b47e18096a79f7f10ed2a28c698fda66ee92d0 100644
--- a/solon-projects/solon-serialization/solon-serialization-abc/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-abc/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-fastjson/pom.xml b/solon-projects/solon-serialization/solon-serialization-fastjson/pom.xml
index eb32a2a0ca89a54936d8e66b6a698714449ee310..52981e545462b846ce5d66d21b157ea874c5f17b 100644
--- a/solon-projects/solon-serialization/solon-serialization-fastjson/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-fastjson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-fastjson2/pom.xml b/solon-projects/solon-serialization/solon-serialization-fastjson2/pom.xml
index 138881fcd2073482862d1b760e562c0d0bfe3c18..ad3517f7ad287727d1079bba39f1ad1e2b84a4e9 100644
--- a/solon-projects/solon-serialization/solon-serialization-fastjson2/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-fastjson2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-fury/pom.xml b/solon-projects/solon-serialization/solon-serialization-fury/pom.xml
index 1b23ff56865ae4a6e90e2856c97267def43a7c04..7e6e7a07c8f92798001968907a09f66b376c6b33 100644
--- a/solon-projects/solon-serialization/solon-serialization-fury/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-fury/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-gson/pom.xml b/solon-projects/solon-serialization/solon-serialization-gson/pom.xml
index 88baaecdd9a471d0195407d92c3936ac2d1e6e34..178b41f52969def64d46007e2b5187f3b926cc08 100644
--- a/solon-projects/solon-serialization/solon-serialization-gson/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-gson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-hessian/pom.xml b/solon-projects/solon-serialization/solon-serialization-hessian/pom.xml
index ff01b16b5256402d4ac89ece0c8c31b4c58af3fb..6217380bce745cc8c929ac614d2c6a654e64f068 100644
--- a/solon-projects/solon-serialization/solon-serialization-hessian/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-hessian/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-jackson-xml/pom.xml b/solon-projects/solon-serialization/solon-serialization-jackson-xml/pom.xml
index b97b0e097d37cfddb4ff89b0c7a4f8eccff24667..fa0029fca88ac9360dd103f297b54e177f52c7a4 100644
--- a/solon-projects/solon-serialization/solon-serialization-jackson-xml/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-jackson-xml/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-jackson/pom.xml b/solon-projects/solon-serialization/solon-serialization-jackson/pom.xml
index 2c0f5a5d141e2185d7bf7962bd7724ffba9afa7f..39bc63e0519701e99a1ef1ec6656e067bf44f8b8 100644
--- a/solon-projects/solon-serialization/solon-serialization-jackson/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-jackson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-jackson/src/main/java/org/noear/solon/serialization/jackson/impl/TimeDeserializer.java b/solon-projects/solon-serialization/solon-serialization-jackson/src/main/java/org/noear/solon/serialization/jackson/impl/TimeDeserializer.java
index ab0b53c297bbebeaefc7503adca4a9cd5c4d9268..a30f1ab46ed5e37eec25c52942ded65998758361 100644
--- a/solon-projects/solon-serialization/solon-serialization-jackson/src/main/java/org/noear/solon/serialization/jackson/impl/TimeDeserializer.java
+++ b/solon-projects/solon-serialization/solon-serialization-jackson/src/main/java/org/noear/solon/serialization/jackson/impl/TimeDeserializer.java
@@ -44,6 +44,10 @@ public class TimeDeserializer extends JsonDeserializer {
try {
Date date = DateUtil.parse(val);
+ if (date == null) {
+ return null;
+ }
+
if (type == LocalDateTime.class) {
return (T) LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
} else if (type == LocalDate.class) {
diff --git a/solon-projects/solon-serialization/solon-serialization-kryo/pom.xml b/solon-projects/solon-serialization/solon-serialization-kryo/pom.xml
index f7e66ec08977287db814ecc8bffecf5b5715f94b..43c900a4bae94d6a418eae0e29d2eef84116c784 100644
--- a/solon-projects/solon-serialization/solon-serialization-kryo/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-kryo/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-properties/pom.xml b/solon-projects/solon-serialization/solon-serialization-properties/pom.xml
index a27bdb3e8fd0fdf48d6ad9bd029b719bed090374..85db45adc3f70d742966ebe1514cae8bce690786 100644
--- a/solon-projects/solon-serialization/solon-serialization-properties/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-properties/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-protostuff/pom.xml b/solon-projects/solon-serialization/solon-serialization-protostuff/pom.xml
index 9e7f167f6aaa9d64d6c8bf3e6725cbc61efc3994..f03cebe8aebf8f90ef3b5c6af20365c2c5645b21 100644
--- a/solon-projects/solon-serialization/solon-serialization-protostuff/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-protostuff/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization-snack3/pom.xml b/solon-projects/solon-serialization/solon-serialization-snack3/pom.xml
index 4529e54d60d89dd8dcde9887fe5298c6b2ccff93..5937bc4f5317fc2e64548b80059df1d6c17ffd61 100644
--- a/solon-projects/solon-serialization/solon-serialization-snack3/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization-snack3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization/pom.xml b/solon-projects/solon-serialization/solon-serialization/pom.xml
index 0a7234e2d08423159a007d6f40bbba8f2f0b2420..fb6aa3dcf837e625884050e9d3e6c63abd65d6c4 100644
--- a/solon-projects/solon-serialization/solon-serialization/pom.xml
+++ b/solon-projects/solon-serialization/solon-serialization/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization/solon-serialization/src/main/java/org/noear/solon/serialization/StringSerializerRender.java b/solon-projects/solon-serialization/solon-serialization/src/main/java/org/noear/solon/serialization/StringSerializerRender.java
index 61dacf9af5f49c25849142aba53d4776d05460d1..2d17684d56af70c487df1d229625614cb5b8cf27 100644
--- a/solon-projects/solon-serialization/solon-serialization/src/main/java/org/noear/solon/serialization/StringSerializerRender.java
+++ b/solon-projects/solon-serialization/solon-serialization/src/main/java/org/noear/solon/serialization/StringSerializerRender.java
@@ -38,7 +38,7 @@ public class StringSerializerRender implements Render {
/**
* 是否类型化的
- * */
+ */
public boolean isTyped() {
return typed;
}
@@ -133,7 +133,10 @@ public class StringSerializerRender implements Render {
if (data instanceof String && isTyped() == false) {
ctx.output(text);
} else {
- ctx.contentType(serializer.mimeType());
+ if (ctx.contentTypeNew() == null) {
+ //如果没有设置过,用默认的 //如 ndjson 是在外面设定的
+ ctx.contentType(serializer.mimeType());
+ }
ctx.output(text);
}
}
diff --git a/solon-projects/solon-serialization_old/solon.serialization.fastjson/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.fastjson/pom.xml
index 5dd06fadf804163b36e9b659fa2d667a834d1373..4db9b6474fa2d68c0eaff2be885664ff843282c6 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.fastjson/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.fastjson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.fastjson2/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.fastjson2/pom.xml
index 3a63bf1edd54e2eaa2109e965075c8a0cfa67156..eb27a9003951c8e3c02975f40a436231216b13cc 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.fastjson2/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.fastjson2/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.fury/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.fury/pom.xml
index 2a41f2a5b0243a3b20486f48b702158a109b0d91..01e31cd987addc722156fd549aee7ddef72b42cd 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.fury/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.fury/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.gson/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.gson/pom.xml
index 5e15d5bb1a16a1122261726268ec3839fd0f8603..bd6c3b6744dc9969a663948437f3b33c076ab2b7 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.gson/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.gson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.hessian/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.hessian/pom.xml
index f087c5789d721c445af8b7b1d23d30a70ee631f9..813dcd0b1dcb7fe4ee61558d758101716da70858 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.hessian/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.hessian/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.jackson.xml/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.jackson.xml/pom.xml
index c0fc71f00f0d084bc7b34c122ca556515a844064..ae6668fa2e64f08b76b48ee9be25f67738b55cc6 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.jackson.xml/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.jackson.xml/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.jackson/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.jackson/pom.xml
index 5a28ba50bda4903da4f6d56e5e68764bda86555d..f8d5c0e6fea62cd5e9a1ad1cdeaff3b6a6b6822f 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.jackson/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.jackson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.properties/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.properties/pom.xml
index 8d5830a5aa300d492f7ef0ad4f91526aae30a690..da7413991fc662ca2c329e465810809c05aa7b35 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.properties/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.properties/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.protostuff/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.protostuff/pom.xml
index ac98a4946b8770d74d7bd38af4e9476dde3036e0..91252cf012941b7656b64f851eb4a769f0e7a272 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.protostuff/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.protostuff/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization.snack3/pom.xml b/solon-projects/solon-serialization_old/solon.serialization.snack3/pom.xml
index 824d5e2a4a47eb3559a7560676dab4cd604c6fb2..7553e589e0f72318fe7dc8bf101a66206bdb0da7 100644
--- a/solon-projects/solon-serialization_old/solon.serialization.snack3/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization.snack3/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-serialization_old/solon.serialization/pom.xml b/solon-projects/solon-serialization_old/solon.serialization/pom.xml
index 6b9ba557bf754577984afff0fdabeaa46e18ffd5..51642c8148db131c43597c1253fb21eb1e763c3e 100644
--- a/solon-projects/solon-serialization_old/solon.serialization/pom.xml
+++ b/solon-projects/solon-serialization_old/solon.serialization/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-testing/solon-test-junit4/pom.xml b/solon-projects/solon-testing/solon-test-junit4/pom.xml
index 5c5c73fc6a5f1c74b0e87899dcdd56547f2da6bd..c5ccb6581a2fd6e14427f71a589df553a6d7e66b 100644
--- a/solon-projects/solon-testing/solon-test-junit4/pom.xml
+++ b/solon-projects/solon-testing/solon-test-junit4/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-testing/solon-test-junit5/pom.xml b/solon-projects/solon-testing/solon-test-junit5/pom.xml
index 86aae7af0d9b3a8b8df989a11ae92145b4bc2d76..1f8282068a4afeccadf1d07bdc7c1a72daa11e9f 100644
--- a/solon-projects/solon-testing/solon-test-junit5/pom.xml
+++ b/solon-projects/solon-testing/solon-test-junit5/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-testing/solon-test/pom.xml b/solon-projects/solon-testing/solon-test/pom.xml
index 0bd12c0168521053b03339d7ec6bc0081994dbb2..a2a9345f19e1cd7f23ce54fe742fb4295bff6bb3 100644
--- a/solon-projects/solon-testing/solon-test/pom.xml
+++ b/solon-projects/solon-testing/solon-test/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-tool/solon-maven-plugin/pom.xml b/solon-projects/solon-tool/solon-maven-plugin/pom.xml
index 39213c84d2d047156def83cda1fff1d3933049d1..6d09c4a165299bab78432c3b7811cbb094701c60 100644
--- a/solon-projects/solon-tool/solon-maven-plugin/pom.xml
+++ b/solon-projects/solon-tool/solon-maven-plugin/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-beetl/pom.xml b/solon-projects/solon-view/solon-view-beetl/pom.xml
index ffc18284d7d9dfc0f75b57e09fcc5532cbbdb04b..5a5ba61c2ca28444eea1b4d1b273f929dcdd4317 100644
--- a/solon-projects/solon-view/solon-view-beetl/pom.xml
+++ b/solon-projects/solon-view/solon-view-beetl/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-enjoy/pom.xml b/solon-projects/solon-view/solon-view-enjoy/pom.xml
index d52b25e74468ed36259de13f3bc15062f8438562..c7421225e058a8392edd21a7157be7901de73aff 100644
--- a/solon-projects/solon-view/solon-view-enjoy/pom.xml
+++ b/solon-projects/solon-view/solon-view-enjoy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-freemarker/pom.xml b/solon-projects/solon-view/solon-view-freemarker/pom.xml
index 88e39358b999544dd32ee5abe55c59d94b364fb0..ed3dfadc65fc18f54ea7b8bb33f6d9da593f5993 100644
--- a/solon-projects/solon-view/solon-view-freemarker/pom.xml
+++ b/solon-projects/solon-view/solon-view-freemarker/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-jsp-jakarta/pom.xml b/solon-projects/solon-view/solon-view-jsp-jakarta/pom.xml
index 504015de5d5726c52cf00ad63978b0d6f7f98b9e..d61c47cab6dc459e04f675858b940cfe3109f7f7 100644
--- a/solon-projects/solon-view/solon-view-jsp-jakarta/pom.xml
+++ b/solon-projects/solon-view/solon-view-jsp-jakarta/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-jsp/pom.xml b/solon-projects/solon-view/solon-view-jsp/pom.xml
index 4e82e4eedc138bb00dbdbdd7ccf667fade109249..059407d469ff4428f421ce7a5a82f8524b37a198 100644
--- a/solon-projects/solon-view/solon-view-jsp/pom.xml
+++ b/solon-projects/solon-view/solon-view-jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-thymeleaf/pom.xml b/solon-projects/solon-view/solon-view-thymeleaf/pom.xml
index 005f14f627854066d2850a92fdd56291ee7a116e..2b667aaf5f0ebea902cfbf6547f1ae9cc948e9b7 100644
--- a/solon-projects/solon-view/solon-view-thymeleaf/pom.xml
+++ b/solon-projects/solon-view/solon-view-thymeleaf/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view-velocity/pom.xml b/solon-projects/solon-view/solon-view-velocity/pom.xml
index c594d77339cc625afcaa754f70ab912ec657267d..101b202189836d5e0b5e88ece7c6bad5d06ba223 100644
--- a/solon-projects/solon-view/solon-view-velocity/pom.xml
+++ b/solon-projects/solon-view/solon-view-velocity/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view/solon-view/pom.xml b/solon-projects/solon-view/solon-view/pom.xml
index f8c555d4ede2fa5a375e76d0b72fac00ad0b5eac..fa924bab384d39f9ce602805b8f1a86b7e1b40a8 100644
--- a/solon-projects/solon-view/solon-view/pom.xml
+++ b/solon-projects/solon-view/solon-view/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.beetl/pom.xml b/solon-projects/solon-view_old/solon.view.beetl/pom.xml
index 934dabf4b1857dea3d010b85ee73fbf9ef015229..d0e9224f93350235a36f5850f073be083a4db6c7 100644
--- a/solon-projects/solon-view_old/solon.view.beetl/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.beetl/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.enjoy/pom.xml b/solon-projects/solon-view_old/solon.view.enjoy/pom.xml
index 2a557ad78312c573fb703f27ec2467a5a73272d3..98f324945e8ee6f56229ae1008a1c13ed83a8c12 100644
--- a/solon-projects/solon-view_old/solon.view.enjoy/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.enjoy/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.freemarker/pom.xml b/solon-projects/solon-view_old/solon.view.freemarker/pom.xml
index d1328349da5331cd0e5eca51b93734eb58acf597..c41ba0ddb807c08aec04d72913ea4b5f4d6c2eb0 100644
--- a/solon-projects/solon-view_old/solon.view.freemarker/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.freemarker/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.jsp/pom.xml b/solon-projects/solon-view_old/solon.view.jsp/pom.xml
index 67235fa28fd9658311b5eb0beee938f09ad12d8e..045dee703cecf0821c88817e2d7a40916137269b 100644
--- a/solon-projects/solon-view_old/solon.view.jsp/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.jsp/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.thymeleaf/pom.xml b/solon-projects/solon-view_old/solon.view.thymeleaf/pom.xml
index 2b05cb94876a96c9bc85a4bcc68ad50cff5f7b55..1f3d43d0a6df5e5620cc72af60f3ba435c27e342 100644
--- a/solon-projects/solon-view_old/solon.view.thymeleaf/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.thymeleaf/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view.velocity/pom.xml b/solon-projects/solon-view_old/solon.view.velocity/pom.xml
index 2f2fce88dd1f80b559c033ecf585149ab03f1bab..91726b3dea38af0831bc1d5858cda83a4312b07e 100644
--- a/solon-projects/solon-view_old/solon.view.velocity/pom.xml
+++ b/solon-projects/solon-view_old/solon.view.velocity/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-view_old/solon.view/pom.xml b/solon-projects/solon-view_old/solon.view/pom.xml
index 17f6b1cc6cd4e2f908a40f868565f62afef3de4d..568f81c725d82eae2558d856e8a412568632fcb7 100644
--- a/solon-projects/solon-view_old/solon.view/pom.xml
+++ b/solon-projects/solon-view_old/solon.view/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-sessionstate-jedis/pom.xml b/solon-projects/solon-web/solon-sessionstate-jedis/pom.xml
index 4cb8f88e6ac292c96cb6da8df1f5633e511f8d91..d19179284295558c4dda30d5531db24b5c7a869e 100644
--- a/solon-projects/solon-web/solon-sessionstate-jedis/pom.xml
+++ b/solon-projects/solon-web/solon-sessionstate-jedis/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-sessionstate-jwt/pom.xml b/solon-projects/solon-web/solon-sessionstate-jwt/pom.xml
index e9475a993a8dd8e3277a5035c907ccecc28b3fe9..225ca92443491b2f23801279ce9d93281a70f125 100644
--- a/solon-projects/solon-web/solon-sessionstate-jwt/pom.xml
+++ b/solon-projects/solon-web/solon-sessionstate-jwt/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-sessionstate-local/pom.xml b/solon-projects/solon-web/solon-sessionstate-local/pom.xml
index 07a885a63d0a41893a5576da1ca92cf6dd18b5dd..51a0738b318ddc2781c2a3f6b7d812d345116bc4 100644
--- a/solon-projects/solon-web/solon-sessionstate-local/pom.xml
+++ b/solon-projects/solon-web/solon-sessionstate-local/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-sessionstate-redisson/pom.xml b/solon-projects/solon-web/solon-sessionstate-redisson/pom.xml
index beb0170b40638e864d424c95da0d3c0124969817..2333eec89dedada74cb4103336dcbd5487e1459d 100644
--- a/solon-projects/solon-web/solon-sessionstate-redisson/pom.xml
+++ b/solon-projects/solon-web/solon-sessionstate-redisson/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-web-cors/pom.xml b/solon-projects/solon-web/solon-web-cors/pom.xml
index 428bdd893b2f364a8148b10b35e73e4f05db2a63..ac4d7f8332c92d04d3f79bd6e1c9e0dd4e20c8a9 100644
--- a/solon-projects/solon-web/solon-web-cors/pom.xml
+++ b/solon-projects/solon-web/solon-web-cors/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
diff --git a/solon-projects/solon-web/solon-web-rx/pom.xml b/solon-projects/solon-web/solon-web-rx/pom.xml
index 15acfd509a4a135145e86bc8ad686048212b13cc..b25b7cda650af21fadd35a805019f810cf299fdf 100644
--- a/solon-projects/solon-web/solon-web-rx/pom.xml
+++ b/solon-projects/solon-web/solon-web-rx/pom.xml
@@ -7,7 +7,7 @@
org.noear
solon-parent
- 3.0.7
+ 3.0.8
../../../solon-parent/pom.xml
@@ -25,17 +25,24 @@
solon-boot
-
- org.slf4j
- slf4j-api
-
-
io.projectreactor
reactor-core
${reactor-core.version}
+
+ io.smallrye.reactive
+ mutiny
+ ${mutiny.version}
+ true
+
+
+
+ org.slf4j
+ slf4j-api
+
+
org.noear
solon-web
diff --git a/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnReactiveHandler.java b/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnRxHandler.java
similarity index 58%
rename from solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnReactiveHandler.java
rename to solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnRxHandler.java
index 416994d90babcdd88eefc2d2d07c8d8bb75c552f..1be351da1d39a9e0789bcd842c07236588fb6668 100644
--- a/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnReactiveHandler.java
+++ b/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReturnRxHandler.java
@@ -15,9 +15,11 @@
*/
package org.noear.solon.web.rx.integration;
+import org.noear.solon.web.util.MimeType;
import org.noear.solon.core.handle.Action;
import org.noear.solon.core.handle.ActionReturnHandler;
import org.noear.solon.core.handle.Context;
+import org.noear.solon.core.util.ClassUtil;
import org.reactivestreams.Publisher;
import reactor.core.publisher.Flux;
@@ -27,7 +29,13 @@ import reactor.core.publisher.Flux;
* @author noear
* @since 2.3
*/
-public class ActionReturnReactiveHandler implements ActionReturnHandler {
+public class ActionReturnRxHandler implements ActionReturnHandler {
+ private final boolean hasReactor;
+
+ public ActionReturnRxHandler() {
+ hasReactor = ClassUtil.hasClass(() -> Flux.class);
+ }
+
@Override
public boolean matched(Context ctx, Class> returnType) {
return Publisher.class.isAssignableFrom(returnType);
@@ -40,11 +48,30 @@ public class ActionReturnReactiveHandler implements ActionReturnHandler {
throw new IllegalStateException("This boot plugin does not support asynchronous mode");
}
+ boolean isStreaming = isStreaming(ctx);
+ Publisher publisher = postPublisher(ctx, action, result, isStreaming);
+
+ publisher.subscribe(new ActionRxSubscriber(ctx, action, isStreaming));
+ }
+ }
+
+ protected boolean isStreaming(Context ctx) {
+ return MimeType.isStreaming(ctx.acceptNew());
+ }
+
+ /**
+ * 确认发布者
+ */
+ protected Publisher postPublisher(Context ctx, Action action, Object result, boolean isStreaming) throws Throwable {
+ if (hasReactor) {
+ //reactor 排除也不会出错
if (result instanceof Flux) {
- ((Publisher) result).subscribe(new ActionReactiveSubscriber(ctx, action, true));
- } else {
- ((Publisher) result).subscribe(new ActionReactiveSubscriber(ctx, action, false));
+ if (isStreaming == false) {
+ return ((Flux) result).collectList();
+ }
}
}
+
+ return (Publisher) result;
}
-}
+}
\ No newline at end of file
diff --git a/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReactiveSubscriber.java b/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionRxSubscriber.java
similarity index 46%
rename from solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReactiveSubscriber.java
rename to solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionRxSubscriber.java
index 2da2ada815a0d68af3e49545d8ae5e810a71b9a3..f315867c27e80626f16661c8bc11a6dceed628e6 100644
--- a/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionReactiveSubscriber.java
+++ b/solon-projects/solon-web/solon-web-rx/src/main/java/org/noear/solon/web/rx/integration/ActionRxSubscriber.java
@@ -15,87 +15,60 @@
*/
package org.noear.solon.web.rx.integration;
-import org.noear.solon.boot.web.MimeType;
import org.noear.solon.core.handle.Action;
import org.noear.solon.core.handle.Context;
-import org.noear.solon.core.util.RunUtil;
import org.reactivestreams.Subscriber;
import org.reactivestreams.Subscription;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Action 响应式订阅者
*
* @author noear
* @since 2.3
*/
-public class ActionReactiveSubscriber implements Subscriber {
- static final Logger log = LoggerFactory.getLogger(ActionReactiveSubscriber.class);
+public class ActionRxSubscriber implements Subscriber {
+ static final Logger log = LoggerFactory.getLogger(ActionRxSubscriber.class);
private Context ctx;
private Action action;
- private boolean isMultiple;
- private boolean isStreamX;
- private List