java - problème de temps critique dans le traitement de la file d'attente des messages
phpcn_u1582
phpcn_u1582 2017-05-17 10:08:07
0
2
581

Recevez maintenant les messages de la file d'attente des messages, puis écrivez dans un fichier. Écrivez-en un toutes les heures, ce qui correspond à une écriture par lots. Mais il y a un problème. Chaque fois qu'un nouveau fichier est écrit, il y a au début des données qui devraient appartenir à l'heure précédente, et le corps du message a l'heure. Comment vous assurer que tous les messages sont strictement écrits dans vos propres fichiers. Ce à quoi je pense maintenant, c'est de diviser les tampons écrits par lots par heure, Map<hour,buffer>, un tampon correspond à une heure, et le nom du fichier est généré en fonction du champ horaire correspondant au tampon. les données de chaque tampon appartiennent à elles-mêmes. Existe-t-il une autre meilleure façon ?

phpcn_u1582
phpcn_u1582

répondre à tous(2)
黄舟

Le fichier est généré à l'heure, et chaque message a son propre horodatage, correspondant à l'écriture

我想大声告诉你

J'ai l'impression que votre problème peut être causé par les raisons suivantes :

  1. Le producteur a envoyé le message à plusieurs reprises

  2. mq a envoyé un message à plusieurs reprises au consommateur

  3. Le consommateur n'a pas informé mq qu'il avait consommé le message il y a une heure, donc mq a envoyé un autre message l'heure suivante

Référence :

  1. messages-dupliqués-sur-activemq

  2. éviter-les-messages-dupliqués-sur-jms-activemq

  3. détection de doublons

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal