前后端视频教程(持续更新)
关联教程: |
Chapter I: 升级说明
1. 新版功能
1.1. 基本功能
-
升级
Apache Felix
为主容器(Vertx
为子容器 ),支持 OSGI 规范(原版依旧可运行)。 -
热插拔、低代码管理工具实现全流程生命周期管理。
-
开发环境使用
Maven
自动化脚本一键完成,部署管理内部实现一键式部署,可集成外层CI/CD
标准化流程。 -
工具平台提供监控中心、管理中心、开发中心,配合 Zero UI 实现全平台/全应用监管控模式。
-
引入类似
MBSE
的理论和规范,实现系统自证,并保证系统本身在运行过程中的标准化定义。 -
硬件对接:模块实现可使用
C、Python、Rust
等其他语言开发,底层可对接硬件抽象层实现万物互联的集成方式。
1.2. 模块化思路
1.2.1. 模块类型
类型 | 说明 |
---|---|
|
基于 OSGI 规范支持热插拔的模块。—— |
|
基于 |
1.2.2. 模块形态
形态 | 说明 |
---|---|
静态 |
静态依赖库,通常位于 Maven 项目的 |
动态 |
OSGI模块,直接支持热插拔,在环境中实现模块的安装、启动、停止、卸载。 |
微服务 |
以脚本为中心( |
Chapter II: 环境综述
2. 项目结构
2.1. 纯环境
纯环境中只包含 Felix OSGI 环境,不携带其他内容,且只有发布版,信息如下:
-
地址:https://gitee.com/zero-ws/Zero.Build.Rapid.Fabric.Runtime
-
引用配置(
git submodule
):[submodule "Zero.Rapid.Fabric.Runtime"] path = refs/Zero.Rapid.Fabric.Runtime url = git@gitee.com:zero-ws/Zero.Build.Rapid.Fabric.Runtime.git branch = master
如果库名称发生变更,请在自己的 pom.xml
重新配置,其他需引用的模块仓库前缀以 Zero.Build
库名为主,每个库的 README.md 中都包含了上述引用配置。
2.2. 模块环境
Zero新版内部核心模块研发环境和用户最终研发环境维持一致。
2.2.1. 目录说明
运行时的结构目录直接参考纯环境下的发布目录即可(带启动脚本),标记为不提交的记得检查 |
路径 | 是否提交 | 备注 |
---|---|---|
|
否 |
|
|
否 |
自动化运行环境,保证每个模块可以独立运行调试。 |
|
是 |
|
|
是 |
当前模块源代码目录,开发人员主体操作目录。 |
2.2.2. Profile说明
完整环境依赖 Maven Profile
来管理开发过程中的生命周期流程:
名称 | 说明 |
---|---|
|
专用于生产环境发布的 Profile。 |
|
专用于测试环境发布的 Profile。 |
|
一键生成可直接运行的 Zero 全容器运行环境。 |
|
一键运行/调试。 |
2.2.3. 命令说明
# 初始化开发环境(环境可一键搭建)
mvn -Pdev clean package install
# 生产部署
mvn -Prelease clean package install
# 测试部署(保留)
mvn -Ptest clean package install
mvn -Ptest test
# 一键运行/调试
mvn -Pdebug test
3. 开发调试
执行过 |
3.1. JAR 方式
一个模块一个配置
使用 JAR Application
类型的应用启动环境:
3.1.1. IDEA 配置
配置项 | 说明 |
---|---|
项目类型 |
JAR Application |
Path to JAR |
|
Working directory |
|
3.2. MAVEN 方式
一个模块一个配置
使用 Maven
类型的应用启动环境:
3.2.1. IDEA 配置
配置项 | 说明 |
---|---|
项目类型 |
Maven |
Run |
|
Working directory |
|
Profiles |
|
运行之后点击
|
3.3. Remote JVM Debug 方式
多个模块可共享配置,且跨 IDE
先执行如下脚本启动应用:
# 调试专用命令
mvn -Pdebug test
使用 Remote JVM Debug
类型的应用启动调试:
3.3.1. IDEA 配置
配置项 | 说明 |
---|---|
项目类型 |
Remote JVM Debug |
Host |
|
Port |
|
Use module classpath |
|
此处配置和
|
4. 命令说明
4.1. 基础执行
直接从 Gogo Command
后台执行,示例如:
g! service bundle all
[ ZERO ] Command : all
No service registered in current bundle. name = io.zerows.zero-core-ams-specification
----------------------------------------
No service registered in current bundle. name = io.zerows.zero-core-entry-osgi
----------------------------------------
Bundle: ( id = 16, name = io.zerows.zero-core-runtime-configuration )
Service Registered List:
[io.zerows.core.configuration.osgi.service.EnergyOption]
com.aisz.platform-entry-osgi
[io.zerows.core.configuration.osgi.RuntimeConfigurationCommand]
----------------------------------------
Bundle: ( id = 17, name = io.zerows.zero-core-runtime-metadata )
Service Registered List:
[io.zerows.core.metadata.osgi.service.EnergyFailure]
io.zerows.zero-core-runtime-metadata
io.zerows.zero-core-runtime-configuration
com.aisz.platform-entry-osgi
[io.zerows.core.metadata.osgi.RuntimeMetadataCommand]
org.apache.felix.gogo.runtime
----------------------------------------
4.2. 命令清单
命令 | 参数 | 说明 |
---|---|---|
|
(无) |
追加的退出命令,可退出整个应用。 |
|
(无) |
查看当前环境中的所有组件缓存。 |
|
|
查看当前环境中所有自定义异常。 |
|
查看当前环境中异常数量。 |
|
|
查看某个 |
|
|
|
查看当前环境中所有自定义异常(前端可阅读版本)。 |
|
|
查看 Cluster 集群详细信息。 |
|