recherche

Maison  >  Questions et réponses  >  le corps du texte

java - problème de temps critique dans le traitement de la file d'attente des messages

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_u1582phpcn_u15822787 Il y a quelques jours626

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-05-17 10:10:07

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

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-17 10:10:07

    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

    répondre
    0
  • Annulerrépondre