Hi,<br><br>I have a simple cluster setup consisting of 2 nodes. Call them A and B going forward. <br><br>Status of node rabbit@B...<br>[{running_applications,[{rabbit,&quot;RabbitMQ&quot;,&quot;1.7.0&quot;},<br>                        {mnesia,&quot;MNESIA  CXC 138 12&quot;,&quot;4.4.7&quot;},<br>


                        {os_mon,&quot;CPO  CXC 138 46&quot;,&quot;2.1.8&quot;},<br>                        {sasl,&quot;SASL  CXC 138 11&quot;,&quot;2.1.5.4&quot;},<br>                        {stdlib,&quot;ERTS  CXC 138 10&quot;,&quot;1.15.5&quot;},<br>


                        {kernel,&quot;ERTS  CXC 138 10&quot;,&quot;2.12.5&quot;}]},<br> {nodes,[rabbit@A,rabbit@B]},<br> {running_nodes,[rabbit@A,rabbit@B]}]<br>...done.<br><br>I have a simple consumer that connect to B and a simple producer that connects to B and produces messages. This is working fine and I connect to the cluster via the newConnection method that takes an array of Addresses.<br>
<br>ConnectionParameters params = new ConnectionParameters();<br>params.setUsername(&quot;guest&quot;);<br>params.setPassword(&quot;guest&quot;);<br>params.setVirtualHost(&quot;/&quot;);<br>params.setRequestedHeartbeat(0);<br>
<br>ConnectionFactory factory = new ConnectionFactory(params);<br> Address[] addresses = {new Address(&quot;192.168.44.1&quot;, 5672), <br>                new Address(&quot;192.168.44.129&quot;, 5672)};<br><br>Connection conn = factory.newConnection(addresses, 1);<br>
Channel channel = conn.createChannel();<br><br>...<br><br>The problem comes if I stop node B via the stop_app command <br><br>$ sudo rabbitmqctl stop_app<br>Stopping node rabbit@B ...<br>...done.<br><br>$ sudo rabbitmqctl status<br>
<br>Status of node rabbit@B ...<br>[{running_applications,[{sasl,&quot;SASL  CXC 138 11&quot;,&quot;2.1.6&quot;},<br>                        {stdlib,&quot;ERTS  CXC 138 10&quot;,&quot;1.16.2&quot;},<br>                        {kernel,&quot;ERTS  CXC 138 10&quot;,&quot;2.13.2&quot;}]},<br>
 {nodes,[rabbit@B,rabbit@A]},<br> {running_nodes,[rabbit@A]}]<br>...done.<br><br>and start my consumer again I get the following exception<br><br>Exception in thread &quot;main&quot; java.io.IOException<br>    at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:121)<br>
    at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:618)<br>    at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:582)<br>    at com.rabbitmq.client.impl.ChannelN.basicConsume(ChannelN.java:574)<br>
    at RabbitMQConsumer.main(RabbitMQConsumer.java:38)<br>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
    at java.lang.reflect.Method.invoke(Method.java:597)<br>    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)<br>Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method&lt;channel.close&gt;(reply-code=404,reply-text=NOT_FOUND - no queue &#39;myQueue&#39; in vhost &#39;/&#39;,class-id=60,method-id=20),null,&quot;&quot;}<br>
    at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:191)<br>    at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:159)<br>    at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:110)<br>
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:449)<br><br>Can anyone shed some light on what I am doing wrong? I thought that the queue would be re-created since I am using the declare statement. Snippet from consumer<br>
<br>channel.exchangeDeclare(exchangeName, &quot;direct&quot;, durable);<br>channel.queueDeclare(queueName, durable);<br>channel.queueBind(queueName, exchangeName, routingKey);<br><br><br>I have attached the consumer and producer code. <br>
<br>thanks!<br><br>dave<br>