Quelle est la meilleure façon de charger des ressources en mémoire qui sera partagée entre les servlets dans un serveur d'applications Java?
Ce que je suis en train de faire
Je veux créer un thread démon qui surveille une file d'attente. Cette file d'attente peut avoir des objets ajoutés à partir des threads de servlet. Le thread attendrait jusqu'à une période définie et vérifierait la file d'attente pour voir s'il contenait des éléments, si c'est le cas, il les traiterait et les supprimerait. Ce fil devrait être commencé quelque part à un moment donné. Je pensais qu'une servlet avec seulement la méthode init implémentée fonctionnerait pour cette tâche ou y a-t-il un meilleur endroit pour mettre le code de démarrage comme ceci dans un serveur d'application? Est-ce que je m'approche du problème tout foutu?
Mises à jour
J'ai trouvé this question et la réponse acceptée était d'utiliser le LifeCycle Listener. Est-ce une façon portable de faire les choses ou mon code va-t-il être lié à un seul serveur d'application? Un peu plus d'enquête m'a conduit à trouver quelques messages sur les forums en disant que je pouvais le faire dans une implémentation ServletContextListener.
Merci pour le conseil sur attendre/notifier. – Elijah