跳到正文
cccskills
免费在 GitHub 公开

webflux-reactive-patterns

Use when the complete Spring Boot 4 request path is reactive: WebFlux controllers, Reactor pipelines, R2DBC persistence, streaming, backpressure, or cancellation. For defining and registering declarative outbound API interfaces, use http-interface-clients.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(4)

  • SKILL.md2.4 KB
  • agents/openai.yaml216 B
  • examples/bad-reactive-service.java115 B
  • examples/good-reactive-service.java705 B

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

WebFlux Reactive Patterns

Use WebFlux when the complete request path benefits from non-blocking I/O.

Dependencies and pipeline rules

  • Use the dedicated Boot 4 WebFlux and WebFlux test starters.
  • Return Mono or Flux; never call subscribe() in request-handling code.
  • Choose flatMap, concatMap, or sequential composition according to ordering needs.
  • Keep JDBC, filesystem, and blocking SDK calls off Reactor event loops.
  • Isolate unavoidable blocking work on boundedElastic at the adapter boundary.
  • Apply timeouts to external calls and preserve cancellation.

Context and errors

  • Put request-scoped metadata in Reactor Context, not ThreadLocal.
  • Configure observability context propagation deliberately.
  • Translate domain failures centrally without swallowing cancellation.
  • Use onErrorResume only for a defined fallback and avoid onErrorContinue.

Persistence and streaming

  • Use R2DBC for reactive database access.
  • Bound fan-out concurrency according to downstream capacity.
  • Define backpressure, buffering, and maximum in-memory sizes.
  • Never collect an unbounded stream solely to simplify downstream code.

Testing

  • Use StepVerifier for publisher behavior and WebTestClient for contracts.
  • Test cancellation, timeout, empty results, errors, ordering, and backpressure.
  • Detect blocking calls in tests when practical.

Examples

  • See examples/good-reactive-service.java and examples/bad-reactive-service.java.

Official sources

Gotchas

  • Agent adds MVC and WebFlux starters accidentally - choose the intended web stack.
  • Agent calls block() or subscribe() in application flow - keep subscription with the runtime.
  • Agent uses ThreadLocal for tenant or trace data - use Reactor Context.
  • Agent uses unbounded flatMap - set concurrency from downstream limits.
  • Agent wraps JDBC with Mono.just - this still blocks the event loop.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Use when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor telemetry, or protected prompt and completion logging. Use production-observability for general service metrics, health, logs, and OTLP setup.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 4 / Spring Framework 7. Covers built-in mapping versions, request version resolution, defaults, supported versions, and deprecation headers.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

Use when versioning Spring MVC or WebFlux APIs in Spring Boot 3 / Spring Framework 6. Covers explicit URL, header, and media-type strategies, compatibility rules, and deprecation handling.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

Use when introducing or correcting grouped Spring Boot configuration, typed property binding, validation, profiles or secret injection. Do not rewrite unrelated single-value configuration.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

Use when packaging a Spring Boot 3 application as an OCI image or GraalVM native executable. Covers buildpacks, layered images, JVM containers, AOT hints, probes, security, and verification.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

Use when packaging Spring Boot 4 as an OCI image, JVM container, AOT application, or GraalVM native executable. Covers buildpacks, layers, runtime hints, probes, security, and verification.

中文简介正在准备中。当前显示原文说明。

rrezartprebreza/spring-boot-skills3192026年10月17日 更新

查看 rrezartprebreza 的全部技能

报告此技能的问题