zero-ai 0.3.35 → 0.3.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/package.json +1 -1
- package/src/_template/MODULE/database/database-reinit.sh +1 -1
- package/src/_template/SPRING/database/init-db.sh +2 -2
- package/src/_template/SPRING/mvn-build.sh +1 -1
- package/src/_template/SPRING/pom.xml.ejs +4 -21
- package/src/_template/SPRING/source-api/pom.xml.ejs +1 -2
- package/src/_template/SPRING/source-domain/pom.xml.ejs +0 -1
- package/src/_template/ZERO/.placeholder +0 -0
- package/src/_template/ZERO/app.env.ejs +96 -0
- package/src/_template/ZERO/database/database-account.sql.ejs +3 -0
- package/src/_template/ZERO/database/database-reinit-history.sql.ejs +5 -0
- package/src/_template/ZERO/database/database-reinit-workflow.sql.ejs +5 -0
- package/src/_template/ZERO/database/database-reinit.sql.ejs +5 -0
- package/src/_template/ZERO/database/init-db.sh +49 -0
- package/src/_template/ZERO/mvn-build.sh +3 -0
- package/src/_template/ZERO/pom.xml.ejs +24 -0
- package/src/_template/ZERO/source-api/AppDev.java.ejs +13 -0
- package/src/_template/ZERO/source-api/Application.java.ejs +11 -0
- package/src/_template/ZERO/source-api/env.properties.ejs +18 -0
- package/src/_template/ZERO/source-api/flyway.conf +6 -0
- package/src/_template/ZERO/source-api/pom.xml.ejs +24 -0
- package/src/_template/ZERO/source-api/vertx.yml.ejs +70 -0
- package/src/_template/ZERO/source-domain/ModuleGeneration.java.ejs +8 -0
- package/src/_template/ZERO/source-domain/pom.xml.ejs +20 -0
- package/src/_template/ZERO/source-provider/ModuleSource.java.ejs +14 -0
- package/src/_template/ZERO/source-provider/pom.xml.ejs +21 -0
- package/src/_template/ZERO/source-test/pom.xml.ejs +28 -0
- package/src/_template/version +5 -0
- package/src/commander/zero.json +24 -0
- package/src/commander-ai/fn.source.spring.js +11 -7
- package/src/commander-ai/fn.source.zero.js +24 -0
- package/src/commander-ai/index.js +5 -4
- package/src/commander-shared/ai.fn.initialize.__.io.util.js +42 -37
- package/src/commander-shared/ai.fn.initialize.__.module.directory.js +63 -0
- package/src/commander-shared/ai.fn.initialize.__.module.file.js +81 -0
- package/src/commander-shared/ai.fn.initialize.__.spring.file.js +0 -1
- package/src/commander-shared/ai.fn.initialize.__.zero.directory.js +21 -9
- package/src/commander-shared/ai.fn.initialize.__.zero.file.js +88 -52
- package/src/commander-shared/ai.fn.initialize.module.js +1 -1
- package/src/commander-shared/ai.fn.initialize.spring.js +8 -3
- package/src/commander-shared/ai.fn.initialize.zero.js +84 -0
- package/src/commander-shared/ai.fn.parse.argument.js +9 -1
- package/src/commander-shared/index.js +2 -0
- /package/src/{commander → cab/removed}/app.json +0 -0
- /package/src/{commander → cab/removed}/mod.json +0 -0
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@ Zero工具箱为一个工具类型的项目,主要为后端项目和前端项
|
|
|
6
6
|
|
|
7
7
|
* 详细文档:[Zero Ai命令](http://www.vertxai.cn/document/doc-web/index.html)
|
|
8
8
|
|
|
9
|
+

|
|
10
|
+
|
|
9
11
|
## 0. 引导
|
|
10
12
|
|
|
11
13
|
- (后端)Zero Ecotope:<https://www.zerows.io>
|
|
@@ -33,7 +35,20 @@ added 77 packages from 119 contributors in 8.417s
|
|
|
33
35
|
|
|
34
36
|
## 2. 常用命令说明
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
```bash
|
|
39
|
+
# 常用命令可直接查看帮助信息
|
|
40
|
+
ai help
|
|
41
|
+
|
|
42
|
+
# 初始化 R2MO Spring 工程脚手架
|
|
43
|
+
ai spring -name app-fly
|
|
44
|
+
ai spring -n app-fly
|
|
45
|
+
|
|
46
|
+
# 初始化 ZERO Vertx 工程脚手架
|
|
47
|
+
ai zero -name app-wait
|
|
48
|
+
ai zero -n app-wait
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
|
|
37
52
|
|
|
38
53
|
|
|
39
54
|
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
source $PWD/mvn-env.sh
|
|
3
|
-
mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database
|
|
4
|
-
mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database
|
|
3
|
+
mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-account.sql"
|
|
4
|
+
mysql -ur2mo -h"$R2MO_MYSQL_HOST" < "$PWD/database/database-reinit.sql"
|
|
@@ -5,21 +5,20 @@
|
|
|
5
5
|
<modelVersion>4.0.0</modelVersion>
|
|
6
6
|
<parent>
|
|
7
7
|
<groupId>io.zerows</groupId>
|
|
8
|
-
<artifactId>r2mo-
|
|
9
|
-
<version
|
|
8
|
+
<artifactId>r2mo-0216</artifactId>
|
|
9
|
+
<version><%= framework %></version>
|
|
10
10
|
</parent>
|
|
11
11
|
<groupId><%= group %></groupId>
|
|
12
12
|
<artifactId><%= id %></artifactId>
|
|
13
13
|
<version>1.0</version>
|
|
14
|
-
<name>App::<%= name
|
|
14
|
+
<name>App::<%= name %></name>
|
|
15
|
+
<packaging>pom</packaging>
|
|
15
16
|
<modules>
|
|
16
17
|
<module><%= id %>-domain</module>
|
|
17
18
|
<module><%= id %>-provider</module>
|
|
18
19
|
<module><%= id %>-api</module>
|
|
19
20
|
</modules>
|
|
20
21
|
<properties>
|
|
21
|
-
<momo.version>1.0.11</momo.version>
|
|
22
|
-
<r2mo.version>1.0-M26</r2mo.version>
|
|
23
22
|
<!-- 项目基本信息 -->
|
|
24
23
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
25
24
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
@@ -27,20 +26,4 @@
|
|
|
27
26
|
<maven.compiler.target>17</maven.compiler.target>
|
|
28
27
|
<java.version>17</java.version>
|
|
29
28
|
</properties>
|
|
30
|
-
|
|
31
|
-
<dependencyManagement>
|
|
32
|
-
<dependencies>
|
|
33
|
-
<!--
|
|
34
|
-
版本管理专用 Stack
|
|
35
|
-
-->
|
|
36
|
-
<dependency>
|
|
37
|
-
<groupId>io.zerows</groupId>
|
|
38
|
-
<artifactId>rachel-momo-stack</artifactId>
|
|
39
|
-
<version>${momo.version}</version>
|
|
40
|
-
<scope>import</scope>
|
|
41
|
-
<type>pom</type>
|
|
42
|
-
</dependency>
|
|
43
|
-
</dependencies>
|
|
44
|
-
</dependencyManagement>
|
|
45
|
-
<packaging>pom</packaging>
|
|
46
29
|
</project>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</dependency>
|
|
25
25
|
<dependency>
|
|
26
26
|
<groupId>org.springframework.boot</groupId>
|
|
27
|
-
<artifactId>spring-boot-starter-
|
|
27
|
+
<artifactId>spring-boot-starter-jetty</artifactId>
|
|
28
28
|
</dependency>
|
|
29
29
|
<dependency>
|
|
30
30
|
<groupId>org.springframework.boot</groupId>
|
|
@@ -33,7 +33,6 @@
|
|
|
33
33
|
<dependency>
|
|
34
34
|
<groupId>org.springframework.boot</groupId>
|
|
35
35
|
<artifactId>spring-boot-starter-quartz</artifactId>
|
|
36
|
-
<version>3.5.5</version>
|
|
37
36
|
</dependency>
|
|
38
37
|
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
|
|
39
38
|
<dependency>
|
|
File without changes
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# R2MO Environment Variables Template
|
|
3
|
+
# 对应 Java 接口: io.zerows.platform.EnvironmentVariable
|
|
4
|
+
# =============================================================================
|
|
5
|
+
# -----------------------------------------------------------------------------
|
|
6
|
+
# 1. 「容器级别」通用配置
|
|
7
|
+
# -----------------------------------------------------------------------------
|
|
8
|
+
export Z_ENV="Development" # Development / Production / Mockito
|
|
9
|
+
|
|
10
|
+
# -----------------------------------------------------------------------------
|
|
11
|
+
# 2. 应用/服务标识 (Identity)
|
|
12
|
+
# -----------------------------------------------------------------------------
|
|
13
|
+
export Z_NS="<%= appNs %>" # 名空间 / App ID (UUID)
|
|
14
|
+
export Z_APP="<%= appName %>" # 应用名称 (e.g. app.micro.hotel)
|
|
15
|
+
export Z_TENANT="<%= appTenant %>" # 租户 ID / UUID
|
|
16
|
+
export Z_SIGMA="<%= appSigma %>" # 统一标识符 Σ
|
|
17
|
+
export Z_LANG="cn" # 语言环境
|
|
18
|
+
export Z_APP_ID=<%= appId %> # 应用 ID / UUID
|
|
19
|
+
|
|
20
|
+
# -----------------------------------------------------------------------------
|
|
21
|
+
# 3. 文档服务器 (OnlyOffice)
|
|
22
|
+
# -----------------------------------------------------------------------------
|
|
23
|
+
# export Z_DOC_SECRET="" # Token密钥
|
|
24
|
+
# export Z_DOC_HOST=""
|
|
25
|
+
# export Z_DOC_PORT=""
|
|
26
|
+
|
|
27
|
+
# -----------------------------------------------------------------------------
|
|
28
|
+
# 4. 集成服务存储 (SIS)
|
|
29
|
+
# -----------------------------------------------------------------------------
|
|
30
|
+
export Z_SIS_STORE="" # 集成服务存储路径
|
|
31
|
+
export Z_SIS_SCHEME="file"
|
|
32
|
+
# export Z_SIS_HOST=""
|
|
33
|
+
# export Z_SIS_PORT=""
|
|
34
|
+
# export Z_SIS_USERNAME=""
|
|
35
|
+
# export Z_SIS_PASSWORD=""
|
|
36
|
+
|
|
37
|
+
# -----------------------------------------------------------------------------
|
|
38
|
+
# 5. 网络配置 (Network)
|
|
39
|
+
# -----------------------------------------------------------------------------
|
|
40
|
+
# export Z_CORS_DOMAIN="" # 跨域配置
|
|
41
|
+
|
|
42
|
+
# RESTful
|
|
43
|
+
export Z_API_PORT="6083" # API 端口
|
|
44
|
+
export Z_API_HOST="0.0.0.0"
|
|
45
|
+
export Z_API_SSL="false"
|
|
46
|
+
|
|
47
|
+
# WebSocket
|
|
48
|
+
export Z_SOCK_PORT="6083" # WebSocket 端口
|
|
49
|
+
export Z_SOCK_HOST="0.0.0.0"
|
|
50
|
+
export Z_SOCK_SSL="false"
|
|
51
|
+
|
|
52
|
+
# -----------------------------------------------------------------------------
|
|
53
|
+
# 6. 数据库配置 (Database)
|
|
54
|
+
# -----------------------------------------------------------------------------
|
|
55
|
+
# 实例指针
|
|
56
|
+
export Z_DBS_INSTANCE="<%= dbName %>_APP" # 业务数据库实例
|
|
57
|
+
# export Z_DBW_INSTANCE="<%= dbName %>_WF" # 工作流数据库实例
|
|
58
|
+
# export Z_DBH_INSTANCE="<%= dbName %>_HIS" # 历史数据库实例
|
|
59
|
+
|
|
60
|
+
# Cloud 专用三库统一配置
|
|
61
|
+
export Z_DB_TYPE="<%= dbType %>" # 数据库类型: MYSQL / SQLSERVER / ORACLE / POSTGRESQL
|
|
62
|
+
export Z_DB_HOST="<%= dbHost %>"
|
|
63
|
+
export Z_DB_PORT="<%= dbPort %>"
|
|
64
|
+
export Z_DB_USERNAME="root"
|
|
65
|
+
export Z_DB_PASSWORD=""
|
|
66
|
+
# 应用专用账号
|
|
67
|
+
export Z_DB_APP_USER="<%= dbUser %>"
|
|
68
|
+
export Z_DB_APP_PASS="<%= dbPassword %>"
|
|
69
|
+
|
|
70
|
+
# -----------------------------------------------------------------------------
|
|
71
|
+
# 7. 云端专用 (Cloud)
|
|
72
|
+
# -----------------------------------------------------------------------------
|
|
73
|
+
# export AEON_CLOUD=""
|
|
74
|
+
# export AEON_APP=""
|
|
75
|
+
|
|
76
|
+
# -----------------------------------------------------------------------------
|
|
77
|
+
# 8. Nacos 配置
|
|
78
|
+
# -----------------------------------------------------------------------------
|
|
79
|
+
# export R2MO_HOME="" # 基础工作目录
|
|
80
|
+
# export R2MO_NACOS_ADDR="127.0.0.1:8848"
|
|
81
|
+
# export R2MO_NACOS_USERNAME=""
|
|
82
|
+
# export R2MO_NACOS_PASSWORD=""
|
|
83
|
+
|
|
84
|
+
# export R2MO_NS_CLOUD="" # 云端名空间
|
|
85
|
+
# export R2MO_NS_APP="" # 应用名空间
|
|
86
|
+
|
|
87
|
+
export R2MO_MN_ID="hms-mn-monitor" # 监控专用 Docker Container 名称
|
|
88
|
+
export R2MO_MN_PPORT=7190 # Prometheus 端口
|
|
89
|
+
export R2MO_MN_GPORT=7191 # Grafana 端口
|
|
90
|
+
# -----------------------------------------------------------------------------
|
|
91
|
+
# 9. Redis 配置
|
|
92
|
+
# -----------------------------------------------------------------------------
|
|
93
|
+
# export R2MO_REDIS_HOST="127.0.0.1"
|
|
94
|
+
# export R2MO_REDIS_PORT="6379"
|
|
95
|
+
# export R2MO_REDIS_PASSWORD=""
|
|
96
|
+
# export R2MO_REDIS_DATABASE="0"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# 加载环境变量
|
|
4
|
+
source "$PWD/.r2mo/app.env"
|
|
5
|
+
|
|
6
|
+
# 初始化标志变量
|
|
7
|
+
RUN_WORKFLOW=false
|
|
8
|
+
RUN_HISTORY=false
|
|
9
|
+
|
|
10
|
+
# 解析命令行参数 (-w 和 -h)
|
|
11
|
+
while getopts "wh" opt; do
|
|
12
|
+
case $opt in
|
|
13
|
+
w)
|
|
14
|
+
RUN_WORKFLOW=true
|
|
15
|
+
;;
|
|
16
|
+
h)
|
|
17
|
+
RUN_HISTORY=true
|
|
18
|
+
;;
|
|
19
|
+
\?)
|
|
20
|
+
echo "无效选项: -$OPTARG" >&2
|
|
21
|
+
exit 1
|
|
22
|
+
;;
|
|
23
|
+
esac
|
|
24
|
+
done
|
|
25
|
+
|
|
26
|
+
# 定义基础路径和命令前缀,使代码更整洁
|
|
27
|
+
DB_DIR="$PWD/.r2mo/database/${Z_DB_TYPE}"
|
|
28
|
+
MYSQL_CMD="mysql -ur2mo -h$Z_DB_HOST"
|
|
29
|
+
|
|
30
|
+
# --- 执行核心脚本 (始终执行) ---
|
|
31
|
+
echo "正在执行基础数据库初始化..."
|
|
32
|
+
$MYSQL_CMD < "$DB_DIR/database-account.sql"
|
|
33
|
+
$MYSQL_CMD < "$DB_DIR/database-reinit.sql"
|
|
34
|
+
|
|
35
|
+
# --- 根据参数执行可选脚本 ---
|
|
36
|
+
|
|
37
|
+
# 如果包含 -w 参数
|
|
38
|
+
if [ "$RUN_WORKFLOW" = true ]; then
|
|
39
|
+
echo "检测到 -w 参数,正在执行 Workflow 初始化..."
|
|
40
|
+
$MYSQL_CMD < "$DB_DIR/database-reinit-workflow.sql"
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
# 如果包含 -h 参数
|
|
44
|
+
if [ "$RUN_HISTORY" = true ]; then
|
|
45
|
+
echo "检测到 -h 参数,正在执行 History 初始化..."
|
|
46
|
+
$MYSQL_CMD < "$DB_DIR/database-reinit-history.sql"
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
echo "执行完毕."
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
5
|
+
<modelVersion>4.0.0</modelVersion>
|
|
6
|
+
<parent>
|
|
7
|
+
<groupId>io.zerows</groupId>
|
|
8
|
+
<artifactId>zero-0216</artifactId>
|
|
9
|
+
<version><%= framework %></version>
|
|
10
|
+
</parent>
|
|
11
|
+
<groupId><%= group %></groupId>
|
|
12
|
+
<artifactId><%= id %></artifactId>
|
|
13
|
+
<version>${revision}</version>
|
|
14
|
+
<name>App::<%= name %></name>
|
|
15
|
+
<packaging>pom</packaging>
|
|
16
|
+
<properties>
|
|
17
|
+
<revision>1.0</revision>
|
|
18
|
+
</properties>
|
|
19
|
+
<modules>
|
|
20
|
+
<module><%= id %>-domain</module>
|
|
21
|
+
<module><%= id %>-provider</module>
|
|
22
|
+
<module><%= id %>-api</module>
|
|
23
|
+
</modules>
|
|
24
|
+
</project>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
package <%= packageName %>;
|
|
2
|
+
|
|
3
|
+
import io.zerows.boot.VertxApplication;
|
|
4
|
+
import io.zerows.epoch.annotations.Up;
|
|
5
|
+
import io.zerows.platform.annotations.PropertySource;
|
|
6
|
+
|
|
7
|
+
@Up
|
|
8
|
+
@PropertySource("env.properties")
|
|
9
|
+
public class <%= name %>Dev {
|
|
10
|
+
public static void main(final String[] args) {
|
|
11
|
+
VertxApplication.run(<%= name %>Dev.class);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# ------- 端口信息
|
|
2
|
+
Z_API_PORT=7085
|
|
3
|
+
# ------- 应用程序专用环境
|
|
4
|
+
Z_APP=<%= appName %>
|
|
5
|
+
Z_APP_ID=<%= appId %>
|
|
6
|
+
Z_SIGMA=<%= appSigma %>
|
|
7
|
+
Z_TENANT=<%= appTenant %>
|
|
8
|
+
#
|
|
9
|
+
# ------- 数据库连接信息
|
|
10
|
+
Z_DB_TYPE="<%= dbType %>"
|
|
11
|
+
Z_DBS_INSTANCE="<%= dbName %>_APP"
|
|
12
|
+
Z_DBW_INSTANCE="<%= dbName %>_WF"
|
|
13
|
+
Z_DB_HOST="<%= dbHost %>"
|
|
14
|
+
Z_DB_PORT=<%= dbPort %>
|
|
15
|
+
Z_DB_USERNAME="root"
|
|
16
|
+
Z_DB_PASSWORD=""
|
|
17
|
+
Z_DB_APP_USER="<%= dbUser %>"
|
|
18
|
+
Z_DB_APP_PASS="<%= dbPassword %>"
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# src/main/resources/flyway.conf
|
|
2
|
+
# 注意:这里使用的是 Maven 格式的变量
|
|
3
|
+
flyway.url=jdbc:mysql://${env.Z_DB_HOST}:${env.Z_DB_PORT}/${env.Z_DBS_INSTANCE}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&useSSL=false&allowPublicKeyRetrieval=true
|
|
4
|
+
flyway.user=${env.Z_DB_APP_USER}
|
|
5
|
+
flyway.password=${env.Z_DB_APP_PASS}
|
|
6
|
+
flyway.baselineOnMigrate=true
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
5
|
+
<modelVersion>4.0.0</modelVersion>
|
|
6
|
+
<parent>
|
|
7
|
+
<groupId><%= group %></groupId>
|
|
8
|
+
<artifactId><%= id %></artifactId>
|
|
9
|
+
<version>${revision}</version>
|
|
10
|
+
</parent>
|
|
11
|
+
|
|
12
|
+
<artifactId><%= id %>-api</artifactId>
|
|
13
|
+
<name>App::<%= name %>::Api</name>
|
|
14
|
+
<properties>
|
|
15
|
+
<maven.main.class><%= packageName %>.<%= name %>App</maven.main.class>
|
|
16
|
+
</properties>
|
|
17
|
+
<dependencies>
|
|
18
|
+
<dependency>
|
|
19
|
+
<groupId><%= group %></groupId>
|
|
20
|
+
<artifactId><%= id %>-provider</artifactId>
|
|
21
|
+
<version>${project.version}</version>
|
|
22
|
+
</dependency>
|
|
23
|
+
</dependencies>
|
|
24
|
+
</project>
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
server:
|
|
2
|
+
port: ${Z_API_PORT:7185}
|
|
3
|
+
address: ${Z_API_HOST:0.0.0.0}
|
|
4
|
+
vertx:
|
|
5
|
+
application:
|
|
6
|
+
name: ${Z_APP:r2mo-app-momo} # ---> 💻️ 微服务名称
|
|
7
|
+
config:
|
|
8
|
+
instance:
|
|
9
|
+
- name: <%= appName %>-001
|
|
10
|
+
options:
|
|
11
|
+
maxEventLoopExecuteTime: 1200_000_000_000
|
|
12
|
+
maxWorkerExecuteTime: 1200_000_000_000
|
|
13
|
+
|
|
14
|
+
# 🚀【核心优化 1】EventLoop 线程池
|
|
15
|
+
# 公式:CPU核数(12) * 2 = 24
|
|
16
|
+
# 原来的 128 太大,导致 CPU 频繁切换上下文,降低性能
|
|
17
|
+
eventLoopPoolSize: 24
|
|
18
|
+
|
|
19
|
+
# 🚀【核心优化 2】Worker 线程池 (阻塞任务池)
|
|
20
|
+
# 如果你的业务主要是查数据库,这个值可以大一点 (64 - 128 之间)
|
|
21
|
+
# 如果太小,高并发查库时会由排队现象;太大则浪费内存。
|
|
22
|
+
# 建议先降到 64 或 128,原 256 略显激进
|
|
23
|
+
workerPoolSize: 128
|
|
24
|
+
|
|
25
|
+
# 内部阻塞池,通常不需要太大,32-64 即可
|
|
26
|
+
internalBlockingPoolSize: 32
|
|
27
|
+
delivery:
|
|
28
|
+
timeout: 180_000
|
|
29
|
+
deployment:
|
|
30
|
+
worker:
|
|
31
|
+
# 🚀【核心优化 3】Worker Verticle 实例数
|
|
32
|
+
# 不需要太多,Vert.x 会复用 Worker 线程池
|
|
33
|
+
# 设置为 CPU 核数 x 2 或 x 4 即可
|
|
34
|
+
instances: 32
|
|
35
|
+
# 这里的 workerPoolSize 是覆盖上面全局配置的,保持一致或按需调整
|
|
36
|
+
workerPoolSize: 128
|
|
37
|
+
agent:
|
|
38
|
+
# 🚀【核心优化 4】Agent (Http Server) 实例数
|
|
39
|
+
# 必须严格等于 eventLoopPoolSize,实现 1:1 绑定
|
|
40
|
+
# 这样每个 CPU 核心只负责 2 个 Server 实例,效率最高
|
|
41
|
+
instances: 24
|
|
42
|
+
mvc:
|
|
43
|
+
cors:
|
|
44
|
+
allow-credentials: true
|
|
45
|
+
allowed-origins:
|
|
46
|
+
- "*"
|
|
47
|
+
datasource:
|
|
48
|
+
dynamic:
|
|
49
|
+
primary: master
|
|
50
|
+
strict: false
|
|
51
|
+
datasource:
|
|
52
|
+
# master 库同 datasource,其他两库可分离,不开启动态的模式下直接使用 datasource 配置
|
|
53
|
+
master:
|
|
54
|
+
url: ${Z_DBS_URL:jdbc:mysql://ox.engine.cn:3306/DB_HOTEL_004?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true}
|
|
55
|
+
instance: ${Z_DBS_INSTANCE:DB_HOTEL_004}
|
|
56
|
+
hostname: ${vertx.datasource.hostname}
|
|
57
|
+
port: ${vertx.datasource.port}
|
|
58
|
+
username: ${vertx.datasource.username}
|
|
59
|
+
password: ${vertx.datasource.password}
|
|
60
|
+
hostname: ${Z_DB_HOST:ox.engine.cn}
|
|
61
|
+
port: ${Z_DB_PORT:3306}
|
|
62
|
+
username: ${Z_DB_APP_USER:r2mo}
|
|
63
|
+
password: ${Z_DB_APP_PASS:r2mo}
|
|
64
|
+
driver-class-name: "com.mysql.cj.jdbc.Driver"
|
|
65
|
+
# ------------------- 业务环境综述
|
|
66
|
+
# 📌 应用管理
|
|
67
|
+
app:
|
|
68
|
+
id: "<%= appId %>"
|
|
69
|
+
ns: "<%= appNs %>"
|
|
70
|
+
tenant: "<%= appTenant %>"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
5
|
+
<modelVersion>4.0.0</modelVersion>
|
|
6
|
+
<parent>
|
|
7
|
+
<groupId><%= group %></groupId>
|
|
8
|
+
<artifactId><%= id %></artifactId>
|
|
9
|
+
<version>${revision}</version>
|
|
10
|
+
</parent>
|
|
11
|
+
|
|
12
|
+
<artifactId><%= id %>-domain</artifactId>
|
|
13
|
+
<name>App::<%= name %>::Domain</name>
|
|
14
|
+
<dependencies>
|
|
15
|
+
<dependency>
|
|
16
|
+
<groupId>io.zerows</groupId>
|
|
17
|
+
<artifactId>zero-extension-skeleton</artifactId>
|
|
18
|
+
</dependency>
|
|
19
|
+
</dependencies>
|
|
20
|
+
</project>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
package <%= packageName %>;
|
|
2
|
+
|
|
3
|
+
import io.zerows.extension.skeleton.boot.ExtensionLauncher;
|
|
4
|
+
import io.zerows.platform.ENV;
|
|
5
|
+
|
|
6
|
+
public class Module<%= name %>Source {
|
|
7
|
+
|
|
8
|
+
public static void main(final String[] args) {
|
|
9
|
+
final ExtensionLauncher launcher = ExtensionLauncher.create(Module<%= name %>Source.class, args);
|
|
10
|
+
final Module<%= name %>Generation configuration = new Module<%= name %>Generation();
|
|
11
|
+
configuration.resolver(ENV::parseVariable);
|
|
12
|
+
launcher.startGenerate(configuration);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
3
|
+
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
5
|
+
<modelVersion>4.0.0</modelVersion>
|
|
6
|
+
<parent>
|
|
7
|
+
<groupId><%= group %></groupId>
|
|
8
|
+
<artifactId><%= id %></artifactId>
|
|
9
|
+
<version>${revision}</version>
|
|
10
|
+
</parent>
|
|
11
|
+
|
|
12
|
+
<artifactId><%= id %>-provider</artifactId>
|
|
13
|
+
<name>App::<%= name %>::Provider</name>
|
|
14
|
+
<dependencies>
|
|
15
|
+
<dependency>
|
|
16
|
+
<groupId><%= group %></groupId>
|
|
17
|
+
<artifactId><%= id %>-domain</artifactId>
|
|
18
|
+
<version>${project.version}</version>
|
|
19
|
+
</dependency>
|
|
20
|
+
</dependencies>
|
|
21
|
+
</project>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
5
|
+
<modelVersion>4.0.0</modelVersion>
|
|
6
|
+
<parent>
|
|
7
|
+
<groupId><%= group %></groupId>
|
|
8
|
+
<artifactId><%= id %></artifactId>
|
|
9
|
+
<version>1.0</version>
|
|
10
|
+
</parent>
|
|
11
|
+
|
|
12
|
+
<artifactId><%= id %>-test</artifactId>
|
|
13
|
+
<name>APP::<%= name %>::Test</name>
|
|
14
|
+
<dependencies>
|
|
15
|
+
<dependency>
|
|
16
|
+
<groupId>io.zerows</groupId>
|
|
17
|
+
<artifactId>r2mo-spring-junit5</artifactId>
|
|
18
|
+
<version>${r2mo.version}</version>
|
|
19
|
+
<scope>test</scope>
|
|
20
|
+
</dependency>
|
|
21
|
+
<dependency>
|
|
22
|
+
<groupId><%= group %></groupId>
|
|
23
|
+
<artifactId><%= id %>-api</artifactId>
|
|
24
|
+
<version>${project.version}</version>
|
|
25
|
+
</dependency>
|
|
26
|
+
</dependencies>
|
|
27
|
+
|
|
28
|
+
</project>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"executor": "executeZero",
|
|
3
|
+
"description": "(后端)创建一个新的 Zero 脚手架!",
|
|
4
|
+
"command": "zero",
|
|
5
|
+
"options": [
|
|
6
|
+
{
|
|
7
|
+
"name": "name",
|
|
8
|
+
"alias": "n",
|
|
9
|
+
"description": "创建应用的名称!"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name": "config",
|
|
13
|
+
"alias": "c",
|
|
14
|
+
"description": "配置文件路径,默认读取 app.json 文件!",
|
|
15
|
+
"default": "app.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "output",
|
|
19
|
+
"alias": "o",
|
|
20
|
+
"description": "默认应用的输出路径,若不制定为当前路径!",
|
|
21
|
+
"default": "."
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
const Ec = require("../epic");
|
|
2
2
|
const Ut = require("../commander-shared");
|
|
3
|
+
const request = require("superagent");
|
|
3
4
|
|
|
4
|
-
module.exports = (options) => {
|
|
5
|
+
module.exports = async (options) => {
|
|
5
6
|
/*
|
|
6
|
-
*
|
|
7
|
+
* 参数解析,解析完成后直接加载基础版本,由于 parseArgument 的通用性,版本解析
|
|
8
|
+
* 只会在 ai spring 等项目初始化命令中完成,所以这里需要单独调用 parseVersion 方法
|
|
9
|
+
* 进行版本解析。
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
let parsed = Ut.parseArgument(options);
|
|
12
|
+
parsed = await Ut.parseVersion(parsed);
|
|
9
13
|
/*
|
|
10
14
|
* 基本信息验证
|
|
11
15
|
*/
|
|
@@ -13,8 +17,8 @@ module.exports = (options) => {
|
|
|
13
17
|
Ec.error("应用名称只能包含字母、数字、点(.)和短横线(-),且不能以数字、点(.)或短横线(-)开头!");
|
|
14
18
|
process.exit(1);
|
|
15
19
|
}
|
|
16
|
-
const configuration = Ut.initSpringConfiguration(parsed);
|
|
17
|
-
Ec.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
const configuration = await Ut.initSpringConfiguration(parsed);
|
|
21
|
+
Ec.execute(`准备生成 Rapid Spring App 应用:${configuration.artifactId}`);
|
|
22
|
+
await Ut.initSpring(configuration);
|
|
23
|
+
Ec.info(`应用生成完成!`);
|
|
20
24
|
}
|