fix(processing): 收紧消息生命周期与投递约束

This commit is contained in:
windyboy
2026-09-10 20:39:22 +08:00
parent dd839e6abb
commit eea11203a2
27 changed files with 502 additions and 79 deletions
+1 -1
View File
@@ -85,7 +85,7 @@
7. 领域决策逻辑只读取当前完整态与已解码报文,返回下一完整态和待发事件,不执行 I/O;Processor 作为事务协调器,将状态写入、事件、处理终态与回填意图收敛在同一事务边界内,不直接触碰 Kafka。失败只在持有消息上下文的边界落账,中断向上传递,不作为普通失败吞掉。
8. 权威存储不可用或未完成恢复时停止业务处理;不能把“整个状态丢失”误判为“单航班不存在”而批量成功结束增量报文。
**当前基础与落点**`processing/Pump.kt`(含 `MessageProcessor`)、`DynamicProcessors.kt``Identity.kt``codec/JacksonXmlCodec.kt``infra/retry/`。严格 FIFO 主泵、SCHDDNLD/RESP/ADFT/FLOP/FDEL 处理器、PG 单事务(含回填待办预登记)、身份绑定与重试已实现调度取时已经由可注入 `Clock` 提供。尚未完成:忽略规则分支(US-04)、基于稳定起始时刻的滞留判据,以及逐类矩阵与 golden 样例(US-05)。
**当前基础与落点**`processing/Pump.kt`(含 `MessageProcessor`)、`DynamicProcessors.kt``Identity.kt``codec/JacksonXmlCodec.kt``infra/retry/`。严格 FIFO 主泵、SCHDDNLD/RESP/ADFT/FLOP/FDEL 处理器、PG 单事务(含回填待办预登记)、身份绑定与重试已实现调度取时由可注入 `Clock` 提供HOL deadline 以 `PROCESSING_STARTED_AT` 为稳定起点。尚未完成:忽略规则分支(US-04),以及逐类矩阵与 golden 样例(US-05)。长期积压和人工重放如何计算 deadline 仍由 Q6 定案。
**前置**:US-01Q1 已定单库方向,Q6 决定 deadline 边界。数据库迁移只落自有库。