2010-06-24 9 views
2

J'essaie de consommer des messages sur un sujet ActiveMQ à partir d'une application C#. J'utilise la version 1.3 .net, et je ne reçois aucun message. J'ai un code existant qui utilise des bibliothèques plus anciennes (et des bibliothèques construites au-dessus des bibliothèques que je ne veux pas utiliser ou mettre à jour) qui fonctionnent bien, donc je sais que les messages voyagent sur le sujet, mais mon programme simple les nouvelles bibliothèques ne les voient pas. J'utilise le code copié et collé à partir http://remark.wordpress.com/articles/publish-subscribe-with-activemq-and-nms/ comme mon test. SimpleTopicSubscriber (avec un simple changement pour en faire un consommateur non durable) ne reçoit rien. SimpleTopicPublisher fonctionne très bien - je peux envoyer un message simple et ça passe, pas de problème. En regardant la console JMX, je peux voir mon abonné se connecter, voir qu'il est sur le bon sujet, mais il ne reçoit tout simplement pas de messages.ActiveMQ + NMS ne peut pas recevoir de messages

Des idées? J'ai même essayé d'utiliser les librairies 1.2, mais cela ne faisait aucune différence.

Merci Matt

Répondre

1

Turns out, il y avait 2 problèmes. J'ai modifié le code d'exemple de manière incorrecte et transmis dans un identifiant de consommateur durable au lieu d'un sélecteur. Pas très intelligent.

Une fois que j'avais corrigé cela, je pouvais recevoir des messages, mais seulement avec la version 1.1 des dll NMS/ActiveMq. Je n'ai pas pu recevoir de messages avec la version 1.2 ou 1.3.

Mais si je transmets wireformat.version = 2 comme paramètre lors de la connexion, tout fonctionne bien. Le courtier est 5.0.0 et je soupçonne fortement que cela fonctionnerait bien avec une version ultérieure du courtier.

Merci Matt

0

Il y a plusieurs raisons pour lesquelles votre client pourrait ne pas recevoir de messages, on pourrait être que vous n'avez pas appelé connection.start(), sans que la pompe de message ne démarre pas l'envoi messages à votre client. L'autre raison pourrait être que votre abonné Sujet non durable a été démarré après l'éditeur, auquel cas il n'y aurait pas de messages livrés depuis que vous utilisez un Sujet et les Sujets sont comme la file d'attente en ce que le message est oublié. un abonné qui rejoint plus tard ne reçoit aucun message envoyé avant son abonnement.

Cordialement Tim.

ouvert intégration Source: http://fusesource.com

+0

Merci Tim, malheureusement, je vous appelle certainement commencer, et je l'ai mis mon éditeur pour envoyer un message toutes les 30 secondes ... – citizenmatt

+0

Pouvez-vous envoyer votre code source aux utilisateurs ActiveMQ groupe, je vais jeter un coup d'oeil et voir ce qui se passe. Cordialement Tim. Intégration Open Source: http://fusesource.com –

+0

Merci pour l'aide - s'avère que c'était la moitié de ma faute et la moitié des problèmes avec les formats de fil ... – citizenmatt

Questions connexes