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

Issue:Camel rabbitmq publishes message to consumer exchange instead of publisher exchange

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Not A Bug
    • Affects Version/s: 2.20.0, 2.20.1, 2.20.2
    • Fix Version/s: 2.21.0
    • Component/s: camel-rabbitmq
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      Hello Team,

      I am facing issue when i tried to use camel rabbitmq components for version 2.20.x.

      The issue is happening when i have camel context containing route that consumes from rabbitmq queue and publishes to rabbitmq exchange .What happens is camel rabbitmq is publishing to consumer exchange instead of given producer exchange and in this way it goes in infinite cycle. Here is sample route for reference which can easily reproduce the issue.

       

      <beans xmlns="http://www.springframework.org/schema/beans"

             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

             xmlns:context="http://www.springframework.org/schema/context"

             xmlns:camel="http://camel.apache.org/schema/spring"

             xsi:schemaLocation="

               http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

               http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

               http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

       

       

          <camel:camelContext id="rmqtest">

       

             

       

              <camel:route id="java">

                  

                  <camel:from uri="rabbitmq://localhost:8311/test_exchange_in?username=admin&password=admin&vhost=/&queue=test_queue_in&automaticRecoveryEnabled=true&concurrentConsumers=2&durable=false&arg.queue.x-message-ttl=5000&networkRecoveryInterval=10000" />

      <camel:log message="incoming message ${body}. Modifying message body." loggingLevel="INFO"/>

      <camel:setBody> <camel:simple trim="false">Message modified.</camel:simple> </camel:setBody>

        <camel:to uri="rabbitmq://localhost:8311/test_exchange_out?username=admin&password=admin&vhost=/&skipQueueDeclare=true&exchangeType=headers&automaticRecoveryEnabled=true&autoDelete=false&networkRecoveryInterval=10000"  /> 

      <camel:log message="publish done" loggingLevel="INFO"/>

              </camel:route>

       

             

          </camel:camelContext>

       

      </beans>

       

       

       

       

      I have also attached sample project to reproduce the issue. 

      Request you to please look into the issue and let us know the solution or fix if any.

      Thanks & regards,

      Zoheb

       

        Attachments

        1. camel-rmq-test.zip
          14 kB
          zoheb

          Issue Links

            Activity

              People

              • Assignee:
                davsclaus Claus Ibsen
                Reporter:
                zohebp zoheb
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: