package org.springframework.issues;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.request.async.DeferredResult;
@Controller
public class DummyController {
private ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
@RequestMapping("/dummyCallable")
public Callable<String> callable() {
return () -> "Dummy";
}
@RequestMapping("/dummyDeferred")
public DeferredResult<String> deferred() {
DeferredResult<String> r = new DeferredResult<>();
executorService.schedule(() -> r.setResult("Dummy"), 10, TimeUnit.MILLISECONDS);
return r;
}
}