2010-11-17 41 views
2

J'essaie d'implémenter une solution en utilisant HornetQ. Puisque j'ai besoin d'y accéder via une application C++, cela me pose un problème. Je compile l'exemple intégré de activemq-cpp, et le change pour fonctionner avec stomp au lieu de openwire (HornetQ ne comprend pas openwire). L'application refuse de produire des messages dans la file d'attente prévue. Il semble que beaucoup de gens ont le même problème, mais personne n'a la réponse. (quelqu'un a dit que c'est un bug sur l'API cms)HornetQ et ActiveMQ CMS ne fonctionnent pas ensemble!

Quelqu'un at-il un exemple pratique de HornetQ fonctionnant avec une application C++? PS: De toute évidence, l'exemple activemq-cpp fonctionne avec un serveur activemq utilisant openwire.

Répondre

1

La seule solution que j'ai vu est un pont HornetQ vers ActiveMQ écrit en java alors que l'application C++ fonctionne avec ActiveMQ. Vous pourriez être en mesure de faire quelque chose avec JNI pour gérer les messages de marshaling dans votre application.

+0

C'est malheureux. – gmuller

2

HornetQ est probablement mappage des noms de destination différemment que le client Stomp C++ ActiveMQ, par exemple dans ActiveMQ une destination de sujet est préfixée par/topic/et une file d'attente est/queue /. Je crois que c'est différent chez HornetQ mais pas vraiment sûr. Vous pouvez regarder dans leurs documents pour ce qu'ils utilisent, si c'est configurable, vous pouvez le modifier pour correspondre à ce que le client CMS envoie. Vous pouvez également modifier votre copie locale de CMS pour envoyer le nom de destination en utilisant le préfixe HornetQ.

Cordialement Tim.

www.fusesource.com