最近遇到了一个问题,我们的一个接口需要去轮询另一个第三方接口,导致这个接口占用了太多工作线程,这些工作线程长时间 running,我们需要解决这个问题。
于是,我们的方案是:用 DeferredResult 实现接口异步。
我们下面讲讲原理 …
DeferredResult 所属包:package org.springframework.web.context.request.async;
我们先实测一波:
@PostMapping("/pay3")
public DeferredResult<Integer> pay3() {
log.info("开始支付3...");
DeferredResult<Integer> result = new DeferredResult<>(60000L);
new Thread(() -> {
try {
result.setResult(checkPayStatus());
} catch (Throwable cause) {
result.setErrorResult(cause.getMessage()

最低0.47元/天 解锁文章
3712

被折叠的 条评论
为什么被折叠?



