Je cherche des exemples (simples) de problèmes pour lesquels JMS est une bonne solution, ainsi que les raisons pour lesquelles JMS est une bonne solution dans ces cas. Dans le passé, j'ai simplement utilisé la base de données comme moyen de transmettre des messages de A à B lorsque le message ne peut pas nécessairement être traité par B immédiatement.
Un exemple hypothétique d'un tel système est celui où tous les utilisateurs nouvellement enregistrés devraient recevoir un courriel de bienvenue dans les 24 heures suivant leur inscription. Pour les besoins de l'argumentation, supposons que la base de données n'enregistre pas l'heure d'enregistrement de chaque utilisateur, mais qu'une référence (clé étrangère) à chaque nouvel utilisateur soit stockée dans la table pending_email. La tâche d'envoi d'e-mail s'exécute toutes les 24 heures, envoie un e-mail à tous les utilisateurs de cette table, puis supprime tous les enregistrements de la table pending_email.
Cela semble être le genre de problème pour lequel JMS devrait être utilisé, mais je ne vois pas bien quel avantage JMS aurait par rapport à l'approche que j'ai décrite. L'un des avantages de l'approche DB est que les messages sont persistants. Je comprends que les files d'attente de messages JMS peuvent également être persistantes, mais dans ce cas, il semble y avoir peu de différence entre JMS et l'approche " base de données comme file d'attente de messages " que j'ai décrite ?
Qu'est-ce que je rate ? - Don
1 votes
Vous utilisez essentiellement le
pending_email
comme une file d'attente de messages actuellement.