Понимание извлечения сеанса контроллера воспроизведения Java

#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. Взгляните на реализацию. Вероятно, он использует локальный поток.