Я должен инициализировать каждый новый сеанс HTTP с некоторыми значениями. Как я делаю это?
Я пытался создать ограниченный по объему сессией компонент и сессию инициализации в @PostConstruct, но ограниченные по объему сессией бобы нетерпеливо не создаются, пока я не запрашиваю доступ их.
Если вы абсолютно уверены, что вам нужна ускоренная инициализация, вы можете сделать следующее:
определить
для этого перехватчика:
определите перехватчик abstract
, с abstract
методом getCurrentSessionBean()
initialized
на bean@PostConstruct
и избавить initizlied
от флагаДругой вариант:
HttpSessionListener
в web. xml (или с аннотациями, если используется сервлет 3.0)WebApplicationContextUtils. getRequiredWebApplicationContext(servletContext)
для получения контекстаgetBean(...)
для получения экземпляра боба с сеансовым копированием@PostConstruct
в этот моментПервый вариант "более весенний", второй проще и быстрее в реализации.