Поскольку я новичок в Spring MVC, я застрял в этой проблеме.Я пытаюсь использовать Session Scope, где я хочу, чтобы список был разделен между несколькими контроллерами в сеансе http.Но я не хочу, чтобы эта сессия использовалась разными HTTP-сессиями.Каждый http-сеанс должен иметь свой собственный список (хранилище), который используется всеми его контроллерами.
Проблема, с которой я сталкиваюсь, заключается в том, что этот список является общим для всех запросов, которые выполняются параллельно.Например,Если я нажимаю на контроллер на своем компьютере, и какой-то другой запрос поступает с другого компьютера, они оба используют один и тот же список (хранилище сеансов)
Это класс MySession, который содержит список, который должен использоваться несколькимиКонтроллеры и каждый контроллер могут выполнять операции с этим списком.
@Component
@Scope("session")
public class MySession
{
public List<String> mylist;
}
Вот мой контроллер, который использует объект класса MySession. Аналогично существуют другие контроллеры, которые могут обновлять список в сеансе.
@Controller
@Scope("request")
public class SessionController
{
@Autowired
private MySession mySession;
@RequestMapping("/updateSession")
public ModelAndView updateSession(@RequestParam("id") int id)
{
//Operation on List(add remove items)
}
}
Итак, теперь происходит то, что List in MySession выполняет мои другие запросы, так как я думаю, что все параллельные запросы используют один и тот же список.
Пожалуйста, помогите мне, как я могу решить эту проблему, если естьесть что-то, чего мне не хватает?Заранее спасибо.