#java #playframework
Вопрос:
Компания, в которой я работаю, использует платформу Java Play Framework. Что я считаю загадочным, так это то, как игра может вернуть мне текущую сессию. Как я вижу из исходного кода,
package play.mvc;
public abstract class Controller extends Results implements Status, HeaderNames {
public static Request request() {
return Http.Context.current().request();
}
public static Session session() {
return Http.Context.current().session();
}
// ...
}
Я нашел такой класс очень странным, так как все методы являются static
методами. И я не понимаю, как Play может получить правильный сеанс при обработке параллельного запроса (многопоточная среда ?).
В таком случае, как Play может правильно обрабатывать / извлекать информацию о сеансе? Обратите внимание, что я могу получить сеанс в начале или в конце каждого действия (что также влияет на время). И в таком случае, как можно правильно восстановить сеанс с помощью статического метода?
Или я что-то здесь упускаю? Было бы здорово, если бы кто-нибудь мог рассказать мне, как Игра может заставить такой поиск работать. Спасибо.
P.S. Я использую довольно устаревшую версию игры Play 2.2.0
на своем рабочем месте и еще не изучаю Scala.
Комментарии:
1. Взгляните на реализацию. Вероятно, он использует локальный поток.