Closed sdelamo closed 4 weeks ago
We use reactive code in controllers where it is unnecessary:
@Controller("/services/today") @ExecuteOn(TaskExecutors.BLOCKING) @Secured(SecurityRule.IS_AUTHENTICATED) @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) @Tag(name = "Today") public class TodayController { private final TodayServices todayServices; public TodayController(TodayServices todayServices) { this.todayServices = todayServices; } @Get() public Mono<HttpResponse<TodayResponseDTO>> getTodaysEvents() { return Mono.fromCallable(todayServices::getTodaysEvents) .map(HttpResponse::ok); } }
The previous controller already offloads to the IO thread pool: @ExecuteOn(TaskExecutors.BLOCKING)
@ExecuteOn(TaskExecutors.BLOCKING)
We could rewrite the getTodayEvents as
getTodayEvents
@Get TodayResponseDTO getTodaysEvents() { return todayServices.getTodaysEvents(); }
We use reactive code in controllers where it is unnecessary:
The previous controller already offloads to the IO thread pool:
@ExecuteOn(TaskExecutors.BLOCKING)
We could rewrite the
getTodayEvents
as