用途:ddd4j-runtime 负责把 ddd4j 核心端口绑定到具体依赖注入框架容器。核心不依赖任何 DI 框架,运行时负责唯一的注册、请求作用域与资源生命周期。适用于注册 CommandBus、DomainEventPublisher、SubjectProvider、Cache、Repository 等 SPI;建立 Request/Thread/Reactive 上下文并在每个终止状态恢复;设计启动顺序、提供者依赖顺序与聚合就绪;处理部分启动失败时按逆序回滚已创建资源;诊断 Contexts/Registry/SubjectKit 背后的重复注册或缺失条目;用 runtime-testkit 加目标框架自身测试验证运行时行为。
主要能力:DI/SPI 装配;上下文与 Subject 生命周期;启动、就绪、排空、关闭;跨运行时行为对齐。支持的运行时包括 Spring、Guice、Quarkus CDI、Micronaut、Vert.x、Helidon、Dropwizard 以及 runtime-testkit。
使用方式:先列出需要绑定的端口与提供者,再定义依赖顺序,按框架惯例注册并检测重复,在入口绑定可恢复的请求上下文,聚合真实参与者的就绪状态,部分失败时逆序回滚,关闭时先排空再幂等关闭,最后用 runtime-testkit 与框架原生测试验证。
限制:不处理 Subject/认证链语义(用 ddd4j-auth),不处理 Web 适配器 HTTP 行为(用 ddd4j-web),不处理 Repository/EventStore 实现(用 ddd4j-data)。不应把 Spring 注解或 Spring 生命周期假设套用到所有运行时;不适用于不涉及 ddd4j 端口的通用 DI 用法。需注意静态门面在注册前调用、后注册静默覆盖、部分启动资源泄漏、硬编码 READY、上下文残留、非幂等关闭与关闭钩子泄漏等问题。上下文不得跨请求泄漏 Subject、Tenant 或 Token;本技能不访问、不收集、不存储、不传输任何用户数据、凭据或密钥。安装命令:npx skills add full-stack-skills/ddd4j-skills --skill ddd4j-runtime。