Nous développons et application Web qui permet aux utilisateurs de s'inscrire à certains événements. Quelle application est censée faire, est de leur envoyer quelques notifications pour leur rappeler qu'ils se sont inscrits. Il y aura plus de 1k utilisateur qui peut s'inscrire à de nombreux événements dans une très large plage de temps. Nous devons envoyer des notations comme 3 mois, 1 mois, 1 semaine et un jour avant l'événement.Mise en œuvre de la notification dans la webapp
La première chose est que je dois déterminer si j'ai besoin d'envoyer une notification à un utilisateur spécifique.
Je pense au thread qui va itérer sur les enregistrements et déterminer si l'envoi d'une notification est nécessaire ou non. Si une notification est requise, devrais-je le faire tout de suite ou peut-être mettre tous les objets qui en ont besoin dans une sorte de cache et ensuite les envoyer (par un autre thread)? Deuxième chose est: si j'ai fait ce fil - est préférable de le mettre et de courir à côté de l'application ou intégrer ce fil dans l'application et, par exemple, le démarrer dans le contexte d'écoute?
Comment résoudre ce problème? Peut-être qu'il y a de meilleures approches?
Les intervalles de temps entre les notifications peuvent être ajoutés ou modifiés, donc je pense qu'un travail devrait s'exécuter tous les N (où N est l'intervalle le plus bas). L'utilisateur obtient seulement l'information qu'il a l'événement alors et alors. Mais j'aime l'approche du planificateur - je ne savais même pas qu'un tel service existait;) – jjczopek
@jjczopek Il existe d'autres options pour planifier des travaux Java, mais si vous cherchez une solution robuste avec basculement, etc, Quartz est certainement le marche à suivre. –