2015-12-23 1 views
1

J'ai configuré une application Spring simple, qui se connecte à une instance HornetQ en cours d'exécution et envoie une série de messages à une file d'attente prédéfinie. Le problème est que le client (client websocket simple livré avec HornetQ) ne reçoit des messages que s'il est déjà abonné à une file d'attente. Existe-t-il un moyen de stocker des messages dans une file d'attente STOMP, puis de les lire lors de la connexion avec un consommateur? J'ai regardé à travers la documentation HornetQ et Stomp, mais comme je ne sais pas vraiment ce que je cherche, je n'ai trouvé que l'en-tête "retain", qui semble être propriétaire avec ActiveMQ et ne conserve que la dernière message dans le sujet.Puis-je stocker et lire les messages de la file d'attente/rubrique STOMP?

Répondre

0

Il semble que HornetQ supporte tous les mêmes en-têtes qu'ActiveMQ, mais ne le mentionne pas dans la documentation. Donc, voici les en-têtes que je devais préciser:

destination:<my-queue> 
id:<some-id> 
durable:true //this enables durability 
auto-delete:false //this ensures queue won't get deleted 

Passed ces en-têtes à StompSession session.send() et cela a fonctionné comme un charme. Aucun changement supplémentaire requis du côté du consommateur.