rabbitmq / rabbitmq-stomp

RabbitMQ STOMP plugin
https://www.rabbitmq.com/stomp.html
Other
49 stars 28 forks source link

Temporary destinations do not support client acknowledgment #95

Closed michaelJustin closed 8 years ago

michaelJustin commented 8 years ago

Normal (non-temporary) destinations can specify the acknowledgment mode with a header in the SUBSCRIBE frame.

With temporary destinations, sending a SUBSCRIBE frame results in an error message like: Invalid destination '/temp-queue/foo' is not a valid destination for 'SUBSCRIBE'

RabbitMQ STOMP plugin supports auto, client, and client-individual subscription headers. But since there is no subscribe frame sent for a temporary destination, there is no way to set a acknowledgment mode.

As per RabbitMQ docs, the internal subscription for a temporary queue uses auto-ack mode. With auto-ack, messages are treated as acknowledged as soon as they sent. Is there a way to minimize the risk of message loss for unprocessed messages?

michaelklishin commented 8 years ago

Please post questions to rabbitmq-users or Stack Overflow. RabbitMQ uses GitHub issues for specific actionable items engineers can work on, not questions. Thank you.

michaelklishin commented 8 years ago

rabbitmq-users thread