开发指南生命周期插件开发
Bundle 生命周期协议(预览)
了解 Bundle 顶层生命周期插件的目标协议、与当前 v1 的差异及迁移门禁。
Bundle 顶层生命周期协议是后续目标模型。它将插件所有权从单个模块兼容绑定提升到整个 Bundle 安装, 并为长时任务、幂等、检查点、验证、回滚和补偿建立统一语义。
预览不是当前生产契约
当前 Runtime 安装器和生命周期插件管理服务尚未对外承诺全部 Bundle 顶层字段。开发当前插件时必须使用 协议 v1,不得自行把本页字段混入 v1 请求。
主要差异
| 维度 | 当前协议 v1 | Bundle 顶层目标协议 |
|---|---|---|
| 所有权 | 模块服务的兼容绑定 | 整个 Bundle 安装实例 |
| 执行语义 | BEFORE_DEPLOY 等零散 Hook | operationType + stage |
| 操作身份 | 没有独立操作标识 | 稳定 operationId 和 idempotencyKey |
| 恢复 | 由插件基于外部状态自行收敛 | checkpoint、状态查询和受控重试 |
| 失败处理 | Hook 返回成功或失败 | 明确回滚和补偿阶段 |
| 输出范围 | 模块属性 | Bundle 声明允许修改的资源属性 |
| 版本锁定 | 未锁定插件 revision | Bundle 版本固化精确注册 revision 和协议版本 |
迁移门禁
平台明确发布对应 protocolVersion 前,不得:
- 在新 Bundle 中根据概念示例写入未开放字段。
- 让插件自己推进 Bundle 安装状态。
- 把 v1 Hook 和目标协议 Stage 当成同义枚举直接映射。
- 为单个插件私自增加检查点、补偿账或安装状态。
- 把历史模块绑定宣称为 Bundle 顶层协议已经上线。
目标协议的完整概念模型和验证清单见 Bundle 生命周期插件(预览)。