№ 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 и запускаю его, сессия изменяется, после повторного запуска сессия больше не изменяется