package test.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.request.async.DeferredResult;
@Controller
public class MainController {
DeferredResult<String> deferredResult;
@RequestMapping("/get_message")
@ResponseBody
public DeferredResult<String> mainPage() {
deferredResult = new DeferredResult<String>(null, "timeout");
return deferredResult;
}
@RequestMapping("/send_message")
@ResponseBody
public String sendMessage() {
deferredResult.setResult("message");
return "sent message";
}
@ExceptionHandler
@ResponseBody
public String handleException(IllegalStateException ex) {
return "Handled exception: " + ex.getMessage();
}
}