Je construis une application web JSF + Facelets, dont une partie est une méthode qui scanne un répertoire de temps en temps et indexe les changements. Cette méthode fait partie d'un bean qui est dans la portée de l'application. J'ai construit une sous-classe de TimerTask pour appeler la méthode toutes les X millisecondes. Mon problème est d'initialiser le bean. Je peux référencer le bean sur une page, et quand je vais à la page, le bean est initialisé, et fonctionne comme indiqué; ce que je voudrais à la place, c'est que le bean soit initialisé lorsque le contexte web est initialisé, afin qu'il ne nécessite pas de visite de page pour démarrer la méthode d'indexation. Google a montré quelques personnes qui veulent cette fonctionnalité, mais pas de vraies solutions en dehors de l'intégration avec Spring, que je ne veux vraiment pas faire juste pour obtenir cette fonctionnalité. J'ai essayé de jouer avec les servlets qui ont un ensemble "load-on-startup", et un ServletContextListener pour faire avancer les choses, et je n'ai pas réussi à obtenir le réglage correct, soit parce qu'il n'y a pas 't un FacesContext disponible, ou parce que je ne peux pas référencer le bean de l'environnement JSF.JSF initialise le bean application-portée lorsque le contexte est initialisé
Est-il possible d'initialiser un bean JSF au démarrage de l'application Web?
Cela a fini par s'arranger - il me manquait le bit "setAttribute" pour le rendre accessible dans le code JSF. Merci! –