|
11 | 11 | import com.google.common.util.concurrent.FutureCallback; |
12 | 12 | import com.google.common.util.concurrent.Futures; |
13 | 13 | import com.google.common.util.concurrent.ListenableFuture; |
| 14 | +import com.google.common.util.concurrent.MoreExecutors; |
14 | 15 | import org.springframework.core.MethodParameter; |
15 | 16 | import org.springframework.web.context.request.NativeWebRequest; |
16 | 17 | import org.springframework.web.context.request.async.DeferredResult; |
@@ -70,17 +71,19 @@ public void handleReturnValue(Object returnValue, MethodParameter returnType, Mo |
70 | 71 | final DeferredResult<Object> deferredResult = new DeferredResult<>(); |
71 | 72 | @SuppressWarnings("unchecked") |
72 | 73 | ListenableFuture<Object> futureValue = (ListenableFuture<Object>) returnValue; |
73 | | - Futures.addCallback(futureValue, new FutureCallback<Object>() { |
74 | | - @Override |
75 | | - public void onSuccess(@Nullable Object result) { |
76 | | - deferredResult.setResult(result); |
77 | | - } |
| 74 | + Futures.addCallback(futureValue, |
| 75 | + new FutureCallback<Object>() { |
| 76 | + @Override |
| 77 | + public void onSuccess(@Nullable Object result) { |
| 78 | + deferredResult.setResult(result); |
| 79 | + } |
78 | 80 |
|
79 | | - @Override |
80 | | - public void onFailure(Throwable ex) { |
81 | | - deferredResult.setErrorResult(ex); |
82 | | - } |
83 | | - }); |
| 81 | + @Override |
| 82 | + public void onFailure(Throwable ex) { |
| 83 | + deferredResult.setErrorResult(ex); |
| 84 | + } |
| 85 | + }, |
| 86 | + MoreExecutors.directExecutor()); |
84 | 87 |
|
85 | 88 | startDeferredResultProcessing(mavContainer, webRequest, deferredResult); |
86 | 89 | } |
|
0 commit comments