Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-18470

camel-rabbitmq - skipQueueDeclare option is not working in 3.18.1. was working in 3.14.x

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Information Provided
    • 3.17.0, 3.18.0, 3.18.1
    • 3.17.0
    • camel-rabbitmq
    • None
    • Unknown

    Description

      we are using camel-rabbitmq 
      we upgraded to 3.18.1 from 3.14.2 recently.

      to send a message to rabbitmq queue we using camel producer template.

      In our endpoint uri for rabbitmq, we set skipQueueDeclare=true. by enabling this we donot need to declare queue name.

      after upgrade  to 3.18.1 we are seeing below errors  while sending message to rabbitmq 

      Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue '1892359723' in vhost 'myvhost', class-id=50, method-id=10)

      Ideally it should not take any queue name.

      More trace.  in this trace we are seeing that it is trying to declare exchange and queue and then bind them. with skipQueueDeclare=true it should not happen i guess..

       

      org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[]    at org.apache.camel.CamelExecutionException.wrapCamelExecutionException(CamelExecutionException.java:45)_    at org.apache.camel.support.ExchangeHelper.extractResultBody(ExchangeHelper.java:667)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:591)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:587)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:313)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:305)_    at com.myapp.myrabbitq.queue.route.MessageSender.routeMessageToTopicNoQueue_aroundBody20(MessageSender.java:211)_    at com.myapp.myrabbitq.queue.route.MessageSender$AjcClosure21.run(MessageSender.java:1)_    at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)_    at com.myapp.myrabbitq.log.LogAspect.aroundInternal(LogAspect.java:67)_    at com.myapp.myrabbitq.log.LogAspect.ajc$inlineAccessMethod$com_digitate_ignio_log_LogAspect$com_digitate_ignio_log_LogAspect$aroundInternal(LogAspect.java:1)_    at com.myapp.myrabbitq.log.LogAspect.around1(LogAspect.java:44)_    at com.myapp.myrabbitq.queue.route.MessageSender.routeMessageToTopicNoQueue(MessageSender.java:207)_    at com.myapp.myrabbitq.platform.workitem.route.WorkitemManagerProducer.lambda$1_aroundBody6(WorkitemManagerProducer.java:53)_    at com.myapp.myrabbitq.platform.workitem.route.WorkitemManagerProducer$AjcClosure7.run(WorkitemManagerProducer.java:1)_    at org.aspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)_    at com.myapp.myrabbitq.log.LogAspect.aroundInternal(LogAspect.java:67)_    at com.myapp.myrabbitq.log.LogAspect.ajc$inlineAccessMethod$com_digitate_ignio_log_LogAspect$com_digitate_ignio_log_LogAspect$aroundInternal(LogAspect.java:1)_    at com.myapp.myrabbitq.log.LogAspect.around1(LogAspect.java:44)_    at com.myapp.myrabbitq.platform.workitem.route.WorkitemManagerProducer.lambda$1(WorkitemManagerProducer.java:47)_    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)_    at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)_    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)_    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)_    at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)_    at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)_    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)_    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)_    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)_    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)_    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)Caused by: java.io.IOException: null    at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:129)_    at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:125)_    at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:147)_    at com.rabbitmq.client.impl.ChannelN.queueDeclarePassive(ChannelN.java:1012)_    at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.queueDeclarePassive(AutorecoveringChannel.java:366)_    at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.passivelyDeclareExchangeAndQueueAndBindThem(RabbitMQDeclareSupport.java:165)_    at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.declareAndBindExchangeWithQueue(RabbitMQDeclareSupport.java:63)_    at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.declareAndBindExchangesAndQueuesUsing(RabbitMQDeclareSupport.java:36)_    at org.apache.camel.component.rabbitmq.RabbitMQEndpoint.declareExchangeAndQueue(RabbitMQEndpoint.java:257)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer$1.doWithChannel(RabbitMQProducer.java:128)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer$1.doWithChannel(RabbitMQProducer.java:125)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.execute(RabbitMQProducer.java:97)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.attemptDeclaration(RabbitMQProducer.java:125)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.execute(RabbitMQProducer.java:93)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.basicPublish(RabbitMQProducer.java:312)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.processInOnly(RabbitMQProducer.java:298)_    at org.apache.camel.component.rabbitmq.RabbitMQProducer.process(RabbitMQProducer.java:212)_    at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:214)_    at org.apache.camel.impl.engine.SharedCamelInternalProcessor$1.process(SharedCamelInternalProcessor.java:111)_    at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)_    at org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:108)_    at org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:199)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:153)_    at org.apache.camel.impl.engine.DefaultProducerTemplate.sendBodyAndHeaders(DefaultProducerTemplate.java:311)_    ... 26 common frames omitted_Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no queue '1892359723' in vhost 'myvhost', class-id=50, method-id=10)

      Attachments

        Activity

          People

            Unassigned Unassigned
            devansharora68@gmail.com Devansh Arora
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: