[rabbitmq-discuss] suspending and resuming a QueueingConsumer

Jim Irrer irrer at umich.edu
Wed Jan 13 19:06:57 GMT 2010

Hi -

I have several consumers reading from the same queue.  I would like
to be able to interrupt their pending read to suspend and resume any
one of them.   I've played around with:

Channel.basicCancel(consumerTag) : don't know how to resume
Channel.abort()    produces com.rabbitmq.client.ShutdownSignalException
Channel.close()   produces com.rabbitmq.client.ShutdownSignalException

The close() and abort() methods seem to act about the same.  I can resume
reading from the queue by creating a new channel and a new QueueingConsumer.
I could not figure out how to resume after a basicCancel.

Is using close() and then re-constructing the channel and QueueingConsumer
the right way to go?  Will resources be properly taken care of by garbage

BTW - I use the consumerTag returned by Channel.basicConsume(queueName,
for the argument to Channel.basicCancel, eg: *
amq.ctag-1m/H7+SDcZpbzTMgsUyhNg==* .
When called, it prints:

Consumer null method handleCancelOk for channel AMQChannel(amqp://
guest at,1) threw an exception:
    at com.rabbitmq.client.impl.ChannelN$2.transformReply(ChannelN.java:728)
    at com.rabbitmq.client.impl.ChannelN$2.transformReply(ChannelN.java:721)
    at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:110)

Thanks for any hints,

- Jim

Jim Irrer     irrer at umich.edu       (734) 647-4409
University of Michigan Hospital Radiation Oncology
519 W. William St.             Ann Arbor, MI 48103
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20100113/bc92bfc8/attachment.htm 

More information about the rabbitmq-discuss mailing list