[rabbitmq-discuss] Duplicate Messages received after	basicRecoveryAsync() is called.
    John Mann 
    jmann at versatile.com
       
    Wed Mar  3 11:42:31 GMT 2010
    
    
  
Thanks for all of the help.  I got it working!
I had no luck with calling basicCancel() and then waiting for the handleCancelOK() method to be called.  I realized after stepping through the source with a debugger that a Channel disassociates the Consumer when basicCancel() is called:
ChannelN.java: line 645:
                Consumer callback = _consumers.remove(consumerTag);
The only way that I knew I could reestablish this association was by calling Channel.basicConsume().  Unfortunately this didn't work.  Messages after that point were never delivered.  
I finally used the close and re-open the Channel approach.  This worked as expected.
If anyone would like to see my solution code, let me know.
Thanks.
-John
On Feb 26, 2010, at 7:50 PM, Tony Garnock-Jones wrote:
> Matthias Radestock wrote:
>> 1) send basic.cancel
>> 2) wait for basic.cancel-ok
>> The hook for step 2 is provided by overriding the handleCancelOk method 
>> on the consumer class.
> 
> Note also that basicCancel() doesn't return to the caller until the
> basic.cancel-ok has been received and completely processed by the client
> library and the Consumer object.
> 
> Regards,
>  Tony
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20100303/0bc15a77/attachment.htm 
    
    
More information about the rabbitmq-discuss
mailing list