[rabbitmq-discuss] ShutdownSignalException second 'channel.open'

Yogesh Ketkar yogimogi at gmail.com
Mon Jan 30 04:33:32 GMT 2012


Only operations I ever do with com.rabbitmq.client.Connection in the
code are
    c.addShutdownListener
    c.createChannel

What does this error signify?

2012-01-30 09:44:45,158 ERROR  [ConnectionShutdownHandler]
ShutdownListener
com.rabbitmq.client.ShutdownSignalException: connection error; reason:
{#method<connection.close>(reply-code=503, reply-text=COMMAND_INVALID
- second 'channel.open' seen, class-id=20, method-id=10), null,
"[B at 105691e"}
	at com.rabbitmq.client.impl.AMQConnection.shutdown(AMQConnection.java:
641)
	at
com.rabbitmq.client.impl.AMQConnection.handleConnectionClose(AMQConnection.java:
599)
	at
com.rabbitmq.client.impl.AMQConnection.processControlCommand(AMQConnection.java:
571)
	at com.rabbitmq.client.impl.AMQConnection
$1.processAsync(AMQConnection.java:88)
	at
com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:
144)
	at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:
91)
	at com.rabbitmq.client.impl.AMQConnection
$MainLoop.run(AMQConnection.java:500)

Some additional info.
I create and close thousands of channels in the code. But at any point
of time there are not more than 20/21 channels open.
This is how I handle doing basicPublish and basicGet on potentially
non-existent queues
- publish involves 3 steps
  queueDeclare
  queueBind
  basicPublish
  If some other thread deletes the queue after either queueDeclare or
queueBind, basicPublish fails and I again create a new
  channel and do these operations
- if basicGet fails, I simply ignore it

regards, Yogesh


More information about the rabbitmq-discuss mailing list