brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
webflux-reactive-patternsUse when the complete Spring Boot 3 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.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use WebFlux when the complete request path can benefit from non-blocking I/O.
Mono or Flux; do not call subscribe() in request-handling code.map, flatMap, concatMap, and zip according to ordering requirements.boundedElastic at the narrow adapter boundary.Context, not ThreadLocal.onErrorResume only when a defined fallback exists.onErrorContinue; it makes partial processing hard to reason about.Flux into memory.StepVerifier for publisher behavior and WebTestClient for HTTP contracts.examples/good-reactive-service.java and examples/bad-reactive-service.java.block() in a controller or service - keep the full request path non-blocking.subscribe() manually - the web runtime owns subscription.ThreadLocal - use Reactor Context.flatMap - set concurrency according to downstream capacity.Mono.just - that still blocks the caller thread.