Hi,
I'm using Camel 2.14.2 and have noticed an issues when using the RabbitMQ
component to publish to a RabbitMQ exchange when the endpoint url contains
an invalid exchange name (in this case the RabbitMQ exchange and queues have
already been set up by a separate consumer process so i'm using the
'declare=false' option in the URL).

*Camel Route*
from("file:in?fileName=in.txt").log(LoggingLevel.DEBUG, "in
here!").to("rabbitmq://127.0.0.1:5762/customerchannel.exchang?declare=false&password=xxxxxx&username=testuser&vhost=/")




The route start without error and on the first execution i'm not receiving
any errors (although if I check the Rabbit logs I can see the connection is
still open but the channel has been closed due to the exchange not existing:

*RabbitMQ log*
Channel error on connection <0.3468.0> (127.0.0.1:56575 -> 127.0.0.1:5762,
vhost: '/', user: 'testuser'), channel 1:
{amqp_error,not_found,"no exchange 'customerchannel.exchang' in vhost '/'",
            'basic.publish'}

No error is thrown in Camel.

On the subsequent invocations of the route, I do receive an error:

*Application Log*
2015-03-19 11:22:46.163 ERROR 9240 --- [0.1-8890-exec-3] d:sendNotification     
                 
: Server Error: channel is already closed due to channel error; protocol
method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no
exchange 'customerchannel.exchang' in vhost '/', class-id=60, method-id=40)

therefore the first fail is silent and the message is lost.

Thanks
Roy




--
View this message in context: 
http://camel.465427.n5.nabble.com/Rabbitmq-producer-silently-failing-for-invalid-rabbit-exchange-name-tp5764383.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to