Tôi đang xây dựng ứng dụng web JSF + Facelets, một phần trong số đó là phương pháp quét thư mục thường xuyên và lập chỉ mục bất kỳ thay đổi nào. Phương thức này là một phần của bean nằm trong phạm vi ứng dụng. Tôi đã xây dựng một lớp con của TimerTask để gọi phương thức mỗi X mili giây. Vấn đề của tôi là nhận được bean khởi tạo. Tôi có thể tham khảo các bean trên một trang, và khi tôi đi đến trang, đậu được khởi tạo, và làm việc theo chỉ dẫn; những gì tôi muốn thay vào đó là cho đậu được khởi tạo khi bối cảnh web được khởi tạo, do đó nó không yêu cầu một lần truy cập trang để bắt đầu phương pháp lập chỉ mục. Google đã cho thấy một vài người muốn có chức năng này, nhưng không có giải pháp thực sự ngoài tích hợp với Spring, mà tôi thực sự không muốn làm chỉ để có được chức năng này.JSF khởi tạo phạm vi ứng dụng khi bối cảnh được khởi tạo
Tôi đã thử chơi xung quanh với cả hai servlet có bộ tải "khởi động" và ServletContextListener để thực hiện mọi thứ, và không thể thiết lập đúng, vì có không có FacesContext, hoặc vì tôi không thể tham khảo bean từ môi trường JSF.
Có cách nào để lấy hạt JSF được khởi chạy khi khởi động ứng dụng web không?
Điều này đã kết thúc - tôi đã bỏ lỡ bit "setAttribute" để làm cho nó có thể truy cập được trong mã JSF. Cảm ơn! –