title: RabbitMQ delete queue can not release connection
body: <p>on my java program, some kind of messages  are being sent over RabbitMQ queues as below : </p>
  
  <pre><code> if(!con.isConnected()){
          log.error("Not connected !!!");
  
          return false;
  }
  con.getChannel().basicPublish("",queueName, MessageProperties.PERSISTENT_BASIC, bytes)
  </code></pre>
  
  <ol>
  <li>I deleted queues via RabbitMQ management GUI plugin</li>
  <li>try to send a message over that deleted queue </li>
  </ol>
  
  <p><strong>Result:</strong> queues were deleted from RabbitMQ GUI but when I am trying to send message over that deleted RabbitMQ queues, connection is still alive.(con.isConnected() == true ) I need to find a way to listen the queue, if it is deleted , I shouldn't send any message to the deleted queue.</p>
  
  <p>Note: After deleting queue, I am not restarting RabbitMQ.</p>
  
  <p>channel creation : </p>
  
  <pre><code> channel = connection.createChannel();
   channel.queueDeclare(prop.getQueueName(), true, false, false, null);
  </code></pre>
  
  <p>example code channel, queue,exchange creation :</p>
  
  <pre><code>ConnectionFactory cf = new ConnectionFactory();
      cf.setUsername("guest");
      cf.setPassword("guest");
      cf.setHost("localhost");
      cf.setPort(5672);
      cf.setAutomaticRecoveryEnabled(true);
      cf.setConnectionTimeout(10000);
      cf.setNetworkRecoveryInterval(10000);
      cf.setTopologyRecoveryEnabled(true);
      cf.setRequestedHeartbeat(5);
      Connection connection = cf.newConnection();
  
      channel = connection.createChannel();
      channel.queueDeclare("test", true, false, false, null);
      channel.exchangeDeclare("testExchange", "direct",true);
      channel.queueBind("test", "testExchange", "testRoutingKey");
  
      connection.addShutdownListener(new ShutdownListener() {
  
          @Override
          public void shutdownCompleted(ShutdownSignalException cause) {
              System.out.println("test"+cause);
          }
      });
  </code></pre>
  
  <p>Sending message : </p>
  
  <pre><code>            channel.basicPublish("testExchange", "testRoutingKey", null,messageBodyBytes);
  </code></pre>