title: Camel with RabbitMQ exception only occurs on second message - mis-spelt exchange name
body: <p>I'm using Camel within a Spring boot application and integrate with RabbitMQ but am encountering strange behaviour. </p>
  
  <p>My app has Restful endpointswhich convert the http request to a RabbitMQ message and publish this to a predefined exchange. There is a separate consumer app which listens to a queue and processes the messages.</p>
  
  <p>I have deliberately entered an incorrect rabbitmq exchange name (invalidxchangename)to check that the application will fail if the exchange does not exist however the camel context starts without error and when I send in a <strong>first</strong> request is does not report any error. This message gets lost as there is no matching RabbitMQ exchange. When I submit a <strong>second</strong> request I receive the following exception which I would have expected on route startup.</p>
  
  <pre><code>com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method&lt;channel.close&gt;(reply-code=404, reply-text=NOT_FOUND - no exchange 'invalidxchangename' in vhost
  </code></pre>
  
  <p>EDIT:
  I've tried a more simple example to show the issue in Camel.</p>
  
  <p>I've created a simple route as follows:</p>
  
  <pre><code>from("file:in?fileName=in.txt").log(LoggingLevel.DEBUG, "in here!").to("rabbitmq://localhost:5762/invalidexchange?declare=false");
  </code></pre>
  
  <p>where there is an existing RabbitMQ exchange called validexchange (so I have deliberately made a typo in the RabbitMQ uri). I would expect the camel route to fail at startup since the exchange doesn't exist, or even the first time it tries to process a new in.txt file.</p>
  
  <p>What I am actually seeing in the logs is that on start up it reports no error and only on the 2nd invocation of the route does it report an error.</p>
  
  <pre><code>2015-03-11 16:17:04.356  INFO 9756 : ID-SBMELW7W-06220-59960-1426051020468-0-2 &gt;&gt;&gt; (route2) from(file://in?fileName=in.txt) --&gt; log[in here!] &lt;&lt;&lt; Pattern:InOnly, Headers:...
  2015-03-11 16:17:04.360  INFO 9756 : ID-SBMELW7W-06220-59960-1426051020468-0-2 &gt;&gt;&gt; (route2) log[in here!] --&gt; rabbitmq://localhost:5762/customerchannel.exchang?declare=false &lt;&lt;&lt; Pattern:InOnly, Headers:...
  2015-03-11 16:17:45.073  INFO 9756 : ID-SBMELW7W-06220-59960-1426051020468-0-4 &gt;&gt;&gt; (route2) from(file://in?fileName=in.txt) --&gt; log[in here!] &lt;&lt;&lt; Pattern:InOnly, Headers: ...
  2015-03-11 16:17:45.079  INFO 9756 : ID-SBMELW7W-06220-59960-1426051020468-0-4 &gt;&gt;&gt; (route2) log[in here!] --&gt; rabbitmq://localhost:5762/customerchannel.exchang?declare=false &lt;&lt;&lt; Pattern:InOnly, Headers:...
  2015-03-11 16:17:45.092 ERROR 9756 : Failed delivery for (MessageId: ID-SBMELW7W-06220-59960-1426051020468-0-3 on ExchangeId: ID-SBMELW7W-06220-59960-1426051020468-0-4). Exhausted after delivery attempt: 1 caught: com.rabbitmq.client.AlreadyClosedException: channel is already closed due to channel error; protocol method: #method&lt;channel.close&gt;(reply-code=404, reply-text=NOT_FOUND - no exchange 'customerchannel.exchang' in vhost '/', class-id=60, method-id=40)
  </code></pre>