2016-01-06 1 views
1

J'ai créé un projet prototype de saga simple avec RabbitMQ comme le transport et RavenDB comme le mécanisme de persistance. Le prototype fonctionne en fait comme prévu, mais toutes les quelques secondes je reçois cette erreur msg:Projet de prototype avec RabbitMQ + RavenDB répété SharedQueue a fermé des erreurs de RabbitMQ

ERREUR NServiceBus.Transports.RabbitMQ.RabbitMqDequeueStrategy Échec de recevoir des messages de [Assemblée] .Retries System.AggregateException: Une ou plusieurs erreurs se sont produites. -> System.IO.EndOfStreamException: SharedQueue fermé à RabbitMQ.Util.SharedQueue 1.EnsureIsOpen() at RabbitMQ.Util.SharedQueue 1.Dequeue (int Délai d'attente 32 millisecondes .......

Je reçois aussi un message presque identique immédiatement après celle ci-dessus mais il soutient qu'il n'a pas de recevoir des messages de RabbitMGPoller.Timeouts

en plus de cela il y a des messages INFO constants qui disent: NServiceBus.Transports.RabbitMQ.RabbitMqConnectionManager débranchés du courtier RabbitMQ, raison: AMQP gros raison, initiée Bibliothèque , code = 0 text = "Fin du flux" ... cause = System.IOException: impossible d'écrire des données dans la connexion de transport: une connexion existante a été fermée de force par l'hôte distant. ockets.SocketException: Une connexion existante a été fermée de force par l'hôte distant ...

J'ai essayé d'ajouter une valeur DequeueTimeout = 600 à la connexion de transport, mais les mêmes erreurs se produisent toujours. J'ai également essayé d'ajouter la clé suivante dans le fichier de configuration, mais cela n'a toujours pas aidé.

Répondre

0

J'ai finalement pensé à elle, juste mon manque de compréhension de RabbitMQ et NServiceBus. J'ai changé la valeur RequestedHeartbeat pour la connexion RabbitMQ à quelque chose de plus grand, c'est-à-dire RequestedHeartbeat = 6000. Cela a résolu mon problème.