Files
msgexchange-v2/gradle/libs.versions.toml
T
windyboy 7e3bf383a5 docs+fix: 文档回到代码事实;修复 dev 冒烟使其真正可跑(ACM2-10 复核意见落地)
实测过程发现并修复四层问题,随后全部按实测结果校订文档:

- build.gradle.kts:补 application.mainClass(Kotlin 顶层 main → ApplicationKt)。
  此前 ./gradlew run 报 "No main class specified",installDist 启动脚本主类为空(Dockerfile 不可运行)。
- application-dev.yml:stub 模式真正免基础设施——
  * datasources.default.enabled=false(micronaut-jdbc JdbcDataSourceEnabled 条件排除 DataSource,
    原注释"stub 不建连"意图未实现,DataSource eager 强制连 MySQL 导致启动失败);
  * 关闭 micronaut 自带 Redis/Kafka 健康指示器(无 broker 时装配即把 /health 打成 500);
  * 端点配置前缀修正:micronaut.endpoints.* 是死配置(/env 404、/beans 401 实测),
    正确为顶层 endpoints.*(env 默认禁用 / beans 默认 enabled+sensitive 一并注明);
  * 关闭 eureka discovery,避免无注册中心时 /health 变 DOWN。
  验证:MICRONAUT_ENVIRONMENTS=dev ./gradlew run 无任何 env/外部依赖启动 → POST /cminmsgs/send
  200 返回 ID → /health UP;text/plain 415(U16 缺口实证)。37 测试全绿未受影响。
- README/docs/architecture.md/docs/design.md:按实测与复核意见校订——
  * README:dev 冒烟命令恢复为"无需 DB/Redis/Kafka",记录修复缘由;
  * architecture:U17 服务名未落地(注册名仍取 micronaut.application.name=msgexchange-nextgen,
    msgx.service-name 无消费方)、三层隔离为目标态(仅 register-eureka=false 生效)、
    管理端点 5.1 实际口径(/env 默认禁用、/beans 默认 enabled+sensitive)、就绪度口径更新;
  * design:§9 补 U17 行;smoke 路径 UNSUPPORTED→CODEC_ERROR 修正;毒丸 head-deadline 判据不可达、
    快照 CAS 崩溃重放二次自增版本等"代码行为≠文档声明"处加实现注;I1 状态行同步。
- gradle/libs.versions.toml + gradle.properties:版本矩阵注释按依赖解析实测修正
  (platform 5.1.3 生效但 core 系解析 5.1.13,classpath 混用;原"5.1.10 无平台 BOM"说法与观测不符)。

未提交内容:无。代码级缺陷(毒丸判据、CAS 重放、DNLD 路由顺序、identity 键释放等)仍属
ACM2-10 排期,本次仅按文档职责如实标注,未改动实现。
2026-09-07 07:39:57 +08:00

50 lines
3.2 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 版本矩阵(阶段0 冒烟实测固化 · 2026-09-06 · 见 ACM2-10 U02/U03
# - JDK 25Micronaut 5.1 系构件要求 JVM 25+build.gradle.kts toolchain=25,实测可构建)。
# - Micronaut:版本由 gradle.properties `micronaut.version` 统一驱动(=5.1.3micronaut-platform BOM
# 最高发布版本;5.1.10 仅有 core 补丁无对应平台 BOM,KSP 处理器类路径会解析失败)。
# 下方 micronaut = "5.1.3" 作为 ksp 处理器(micronaut-inject-kotlin)的版本来源,勿再回落 5.1.0 / JDK21 旧口径。
# 【2026-09-07 实测修正】`./gradlew :dependencies` 显示 micronaut-platform:5.1.3 BOM 确实生效,但
# io.micronaut core 系(http-server-netty/management/runtime/inject/aop)实际被更高约束解析到 **5.1.13**,
# data 系停留在 5.1.3 → classpath 为 5.1.3 与 5.1.13 混用;KSP 处理器(micronaut-inject-kotlin)为 5.1.3
# 与运行期 core 5.1.13 并存。上文「版本由 micronaut.version 单点驱动=5.1.3」「5.1.10 无平台 BOM 会解析
# 失败」与观测不符,勿再引用;版本矩阵需按解析结果重新钉真(建议随 U05 数据层批次处理)。
# - Kotlin 2.3.0 + KSP 2.3.0Kotlin 2.3 配套版;注解处理必需,否则 Micronaut 不生成 BeanDefinition)。
[versions]
kotlin = "2.3.0"
micronaut = "5.1.3"
ksp = "2.3.0"
junit = "5.11.4"
snakeyaml = "2.4"
[plugins]
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
micronaut-application = { id = "io.micronaut.application", version = "4.6.0" }
[libraries]
micronaut-http-server-netty = { module = "io.micronaut:micronaut-http-server-netty" }
micronaut-jackson-databind = { module = "io.micronaut:micronaut-jackson-databind" }
micronaut-data-jdbc = { module = "io.micronaut.data:micronaut-data-jdbc" }
micronaut-jdbc-hikari = { module = "io.micronaut.sql:micronaut-jdbc-hikari" }
micronaut-flyway = { module = "io.micronaut.flyway:micronaut-flyway" }
micronaut-redis-lettuce = { module = "io.micronaut.redis:micronaut-redis-lettuce" }
micronaut-kafka = { module = "io.micronaut.kafka:micronaut-kafka" }
micronaut-discovery-eureka = { module = "io.micronaut.discovery:micronaut-discovery-client" }
micronaut-management = { module = "io.micronaut:micronaut-management" }
# Kotlin 注解处理(KSP)处理器——与 kotlin-ksp 插件配套(U01
micronaut-inject-kotlin = { module = "io.micronaut:micronaut-inject-kotlin", version.ref = "micronaut" }
jackson-dataformat-xml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-xml", version = "2.18.2" }
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version = "2.18.2" }
logstash-logback-encoder = { module = "net.logstash.logback:logstash-logback-encoder", version = "8.0" }
mysql-connector-j = { module = "com.mysql:mysql-connector-j", version = "9.1.0" }
snakeyaml = { module = "org.yaml:snakeyaml", version.ref = "snakeyaml" }
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
h2 = { module = "com.h2database:h2", version = "2.3.232" }
[bundles]
micronaut-runtime = [
"micronaut-http-server-netty",
"micronaut-jackson-databind",
"micronaut-management",
]