我正在使用 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中文网其它相关文章! 

Kevinvorma7 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Під час вибору проду...
Kevinvorma7 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Ринок пропонує широк...
Jamesfourl20 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Багато людей не посп...
LincolnWap20 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Сучасні жінки прагну...
LincolnWap20 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Пошук натхнення та н...
JuniorNuh20 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!У великому потоці ін...
JuniorNuh20 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Інформаційний прості...
Antoniohig20 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!У сучасному інформац...
Antoniohig21 天前
发表在:11日20日,星期四,在这里每天60秒读懂世界!Інформаційний прості...
Edwardohep26 天前
发表在:03日05日,星期四,在这里每天60秒读懂世界!Understanding vehicl...