Я создаю веб-приложение JSF + Facelets, одним из которых является метод, который так часто сканирует каталог и индексирует любые изменения. Этот метод является частью bean, который находится в области приложения. Я создал подкласс TimerTask для вызова метода каждые X миллисекунд. Моя проблема заключается в инициализации bean. Я могу ссылаться на bean на странице, и когда я иду на страницу, bean инициализируется и работает по назначению; вместо этого я хотел бы инициализировать bean, когда веб-контекст инициализирован, так что для запуска метода индексирования не требуется посещать страницу. Google показал несколько людей, которые хотят эту функциональность, но никаких реальных решений вне интеграции с Spring, которые я действительно не хочу делать, чтобы получить эту функциональность.
Я пробовал играть с обоими сервлетами, у которых есть "load-on-startup", и ServletContextListener, чтобы все было в порядке, и не смог получить правильную настройку, либо потому, t Доступен FacesContext, или потому, что я не могу ссылаться на bean из среды JSF.
Есть ли способ получить JSF bean, инициализированный при запуске веб-приложения?