我正在使用 spring webflux,我需要执行异步任务作为方法的一部分,该方法不应阻止对用户的主要响应。具体来说,我想在完成主要任务后调用异步方法,但不延迟响应。
这是我想要实现的目标的简化版本:
public Mono
return publishPackageService.doSomething(requestDTO)
.flatMap(responseDTO ->
doSomethingInAsync(requestDTO, responseDTO)
.thenReturn(responseDTO)
);
}
// Method that simulates an asynchronous task with a 5-second delay
public Mono
return Mono.delay(Duration.ofSeconds(5))
.then(); // Converts the delayed Mono
}
登录后复制
此调用完成后,我想异步执行 dosomethinginasync(requestdto, responsedto)
dosomethinginasync 方法应该是非阻塞的,并且不会延迟主要响应。
问题:
dosomethinginasync 方法正在执行,但看起来它可能会阻塞响应或未按预期异步运行。如何确保 dosomethinginasync 异步运行并且不会阻止对用户的响应?
详情:
publishpackageservice.dosomething(requestdto):返回一个 mono。
dosomethinginasync(requestdto, responsedto):是一个异步方法,我想在不阻塞响应的情况下运行。
问题:
如何确保 dosomethinginasync 在后台运行而不阻塞响应?
以上就是如何在 Spring WebFlux 中运行异步任务而不阻塞主响应?的详细内容,更多请关注php中文网其它相关文章! 

Edwardohep5 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Understanding vehicl...
Edwardohep5 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Drivers frequently c...
Dennisbaits12 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Люди часто выбирают ...
Dennisbaits13 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Иногда собственники ...
Jacobanews18 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!При использовании эт...
JacobNab18 天前
发表在:关于我们Если нет желания зан...
StephenSnini20 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Osoby rozpoczynające...
Jacobanews20 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Автоматизированное п...
JacobNab21 天前
发表在:关于我们Для бесперебойной ра...
Jeffreyforgo2 个月前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Visuele technologie ...