Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-2605

Default receiveTimeout For Camel JMS Is Not Being Set To -1

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • jboss-fuse-6.1
    • Camel
    • None
    • % %
    • Hide

      Create a simple JMS route such as:

       <camelContext xmlns="http://camel.apache.org/schema/spring">
        <route>
      	<from uri="jms:queue:TOOL.DEFAULT" />
      	<log message="${body}" />
       </route>
      </camelContext>
      

      Run it with TRACE level debug and you'll see the DMLC polling at 1 second intervals

      Show
      Create a simple JMS route such as: <camelContext xmlns= "http://camel.apache.org/schema/spring" > <route> <from uri= "jms:queue:TOOL.DEFAULT" /> <log message= "${body}" /> </route> </camelContext> Run it with TRACE level debug and you'll see the DMLC polling at 1 second intervals

    Description

      According to the Camel JMS documentation (1), the receiveTimeout for the JMS component is, by default, “None”, which implies that there is no timeout and thus the corresponding receive should block indefinitely. However, the default receiveTimeout is 1000, which happens to be the default for the Spring DMLC.

      In JmsConfiguration.java, the default receiveTimeout is being initialized to -1.

      private long receiveTimeout = -1;
      

      However, this snippet of code in JmsConfiguration.java does not assign it to the underlying Spring DMLC.

      if (receiveTimeout >= 0) {
        container.setReceiveTimeout(receiveTimeout);
      } 
      

      (1) http://camel.apache.org/jms.html

      Attachments

        Activity

          People

            cibsen@redhat.com Claus Ibsen
            Argo_Integration Travis North (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: