В нашем приложении у нас есть панель инструментов, которая будет загружена после входа в систему из метода init() с аннотацией PostConstruct.
Все работает нормально, пока сессия не истечет. В этот момент, если я нажму кнопку на панели инструментов, этот метод инициализации будет вызван снова, хотя я не вошел в систему. Я буду перенаправлен на страницу входа, и теперь, если я войду, метод PostConstruct не будет больше не будет вызываться, и содержимое информационной панели не может быть загружено.
Я знаю, что PostConstruct будет вызываться только один раз после создания сеанса (класс Controller — @SessionScoped). Я предполагаю, что проблема в том, что сервер создает новый сеанс после тайм-аута, потому что метод инициализации вызывается после тайм-аута и до входа в систему, и это приводит к тому, что после входа в систему не вызывается снова. Что было бы лучшим решением для решения этой проблемы?
Одним из обходных путей может быть загрузка содержимого информационной панели в метод, который не аннотирован с помощью PostConstruct. Но мне интересно, можно ли решить проблему по-другому.