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?
1
A
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.