Files
mq-starter/mq-starter-core
hongawen b4ec55baf5 fix(mq-starter-core): 批量超时缺省时钟改单调源,免受 NTP 回拨影响
review 发现 #3:缺省 clock = System::currentTimeMillis,超时判断是差值
比较(now - batchStartAtMs),墙钟被 NTP 回拨会让差值变负,该批多躺回拨量,
突破"刷出延迟上界一个超时窗口"的文档承诺。

修复:缺省 clock 换 System.nanoTime()/1_000_000(单调,只用于相对差值)。
clock 注入口子不变,既有假时钟测试不受影响。

测试说明:回拨行为单测无法注入(系统时钟不可控),新增缺省时钟冒烟测试
守护纳秒→毫秒换算(错用裸 nanoTime 会让任何批立即被判超时),非严格
TDD RED——超时语义本身已有注入假时钟的用例覆盖。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 03:35:18 +01:00
..