java threadlocal синглтон - что это?
Говоря по-дилетански, что это значит, когда кто-то говорит, что объект является локальным синглтоном в Java Я был на лекции о Java Server Faces, и каждый раз, когда говорили о FacesContext - инструктор всегда напоминал нам, что это потоковый синглтон.
1 ответ
Существует только один уникальный экземпляр FacesContext
за нитку.
FacesServlet
создает ThreadLocal<FacesContext>
в начале запроса сервлета HTTP и удаляет его в конце ответа сервлета HTTP, связанного с запросом сервлета HTTP. Всякий раз, когда вы делаете FacesContext#getCurrentInstance()
в вашем коде JSF вы всегда будете получать один и тот же экземпляр во всей обработке запросов / ответов сервлетов HTTP.
Поскольку HTTP-запросы сервлета выполняются различными потоками и FacesContext
Экземпляр присоединен как локальная переменная потока к одному потоку, ни один из двух запросов HTTP-сервлетов не может быть одним и тем же FacesContext
пример.