почему асинхронный контроллер влияния в пружине MVC? - PullRequest
0 голосов
/ 17 ноября 2018

№ 1, когда мой контроллер:

@RestController
public class TestController{
@GetMapping(value="/test")
public CompletableFuture<Object> testController(){
    .....
    return CompletableFuture.completedFuture(XXX)
}

когда я запускаю этот код контроллера, я нахожу журнал preHandle 2 раза в HandlerInterceptorAdapter

№ 2, когда мой контроллер:

public Callable<Object> getTokenService(HttpSession httpSession) {
Map<String, Object> map = new HashMap<>(8);
String token = UUID.randomUUID().toString();
httpSession.setAttribute("token", token);
map.put("data", httpSession.getAttribute("token"));
return () -> map;
}
public Callable<Object> getTokenController(HttpSession httpSession){
return () -> service.getTokenService();
}

когда я запускаю этот код контроллера (сессия сохраняется заново), я обнаруживаю, что только когда я запускаю сервер Tomcat и запускаю его, сессия изменяется, после повторного запуска сессия больше не изменяется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...