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

Camel tracing in Hawtio leads to empty message bodies in the route

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • jboss-fuse-6.3
    • jboss-fuse-6.2.1
    • Hawtio
    • None
    • % %
    • Hide

      1. Deploy the Camel route appended to this note on Fuse 6.2.1. It will most likely be necessary to change the HTTP server URI .
      2. Look in the Fuse log, to ensure that the expected response from the HTTP server (whatever that is) is displayed by the "log://" endpoint.
      3. In the Hawtio console, in the preferences menu, Camel section, enable "Include Streams"
      4. Enable tracing. Note that the Fuse log now shows the message body as empty.

      <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
          xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0"
          xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
              http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
      
          <camelContext xmlns="http://camel.apache.org/schema/blueprint" streamCache="true">
      
        <streamCaching id="myCacheConfig" bufferSize="16384" spoolDirectory="/tmp/cachedir" spoolThreshold="65536"/>
      
              <route id="timer" streamCache="true">
                <from uri="timer://foo?period=1000&amp;fixedRate=true"/>
                <to uri="http://192.168.1.10:8080/index.jsp"/>
                <convertBodyTo type="java.lang.String"/>
                <to uri="log://foo"/>
              </route>
          </camelContext>
      </blueprint>
      
      Show
      1. Deploy the Camel route appended to this note on Fuse 6.2.1. It will most likely be necessary to change the HTTP server URI . 2. Look in the Fuse log, to ensure that the expected response from the HTTP server (whatever that is) is displayed by the "log://" endpoint. 3. In the Hawtio console, in the preferences menu, Camel section, enable "Include Streams" 4. Enable tracing. Note that the Fuse log now shows the message body as empty. <blueprint xmlns= "http: //www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi= "http: //www.w3.org/2001/XMLSchema-instance" xmlns:cxf= "http://camel.apache.org/schema/blueprint/cxf" xmlns:cm= "http: //aries.apache.org/blueprint/xmlns/blueprint-cm/v1.0.0" xsi:schemaLocation="http: //www.osgi.org/xmlns/blueprint/v1.0.0 http: //www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd"> <camelContext xmlns= "http: //camel.apache.org/schema/blueprint" streamCache= " true " > <streamCaching id= "myCacheConfig" bufferSize= "16384" spoolDirectory= "/tmp/cachedir" spoolThreshold= "65536" /> <route id= "timer" streamCache= " true " > <from uri= "timer: //foo?period=1000&amp;fixedRate= true " /> <to uri= "http: //192.168.1.10:8080/index.jsp" /> <convertBodyTo type= "java.lang. String " /> <to uri= "log: //foo" /> </route> </camelContext> </blueprint>
    • Sprint 5 - towards ER2

      When tracing in the Hawtio console a Camel route that uses a camel-http or camel-http4 endpoint, enabling the trace causes the route to display a null message body after the HTTP request. This problem does not affect camel-jetty. It appears to be related to stream caching in some way, but no combination of settings related to stream caching, both in the Hawtio console and the route, seems to solve the problem. The message body is displayed in Hawtio, or processed in the route, but not both.

            acosenti Andrea Cosentino
            rhn-support-kboone Kevin Boone
            Martin Stepanek Martin Stepanek
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: