[rabbitmq-discuss] [2.4.0] random message loss with Stomp and topics? - solved
Michael Justin
michael.justin at gmx.net
Tue Apr 19 18:09:50 BST 2011
Am 15.04.2011 16:44, Rob Harrop wrote:
> Are you referring to the tests distributed with Rabbit or do you have
> your own test code that you are running?
These are tests for my Delphi / Free Pascal client library, which are
now close to the first release
> I can take a quick guess at why this is failing. The SUBSCRIBE frames
> are processed asynchronously. So, if you issue a few SUBSCRIBEs followed
> by a few SENDs then you might not see MESSAGE frames for the SUBSCRIBEs
> that are yet to finish processing.
This was my first thought too - so I inserted a long delay (several
seconds) between the subscribe and the send. It did not solve the
problem, the broker did not send all incoming messages to all
subscribers. I could not find any pattern, so I was happy to see your
answer and tried it today
> The best way to guarantee that a SUBSCRIBE has finished is to provide a
> receipt: header and then wait for the receipt. You'll see this pattern
> quite a lot in the RabbitMQ STOMP tests.
Adding a receipt header fixed the problem. However, this is not
specified in the Stomp documentation (the receipt header is optional).
(Maybe the requirement of using a receipt header should be added to the
RabbitMQ Stomp adapter docs.)
Thanks and have a nice day
Michael Justin
More information about the rabbitmq-discuss
mailing list