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

JMX shows failed Camel contexts that are invisible to OSGi/Karaf

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • Camel
    • None
    • % %
    • Hide

      1. In a clean installation of Fuse 6.3, install the feature camel-http.
      2. Copy this Blueprint XML to a file in the deploy/ directory

      <?xml version="1.0" encoding="UTF-8"?>
      
      <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">
              <route id="test">
                <!--from uri="timer://foo?period=1000&amp;fixedRate=true"/-->
                <from uri="http://localhost:6000/"/>
                <setBody><simple>Hello</simple></setBody>
                <to uri="log://foo"/>
              </route>
          </camelContext>
      </blueprint>
      

      It fails to initialize because "http" cannot be a consumer endpoint.

      3. Note that "context-list" shows no Camel contexts, but JMX (e.g., jconsole) shows an entry for "camel-context-1" that is difficult to distinguish from a viable context that happens to be stopped.

      Show
      1. In a clean installation of Fuse 6.3, install the feature camel-http. 2. Copy this Blueprint XML to a file in the deploy/ directory <?xml version= "1.0" encoding= "UTF-8" ?> <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 " > <route id= "test" > <!--from uri= "timer: //foo?period=1000&amp;fixedRate= true " /--> <from uri= "http: //localhost:6000/" /> <setBody><simple>Hello</simple></setBody> <to uri= "log: //foo" /> </route> </camelContext> </blueprint> It fails to initialize because "http" cannot be a consumer endpoint. 3. Note that "context-list" shows no Camel contexts, but JMX (e.g., jconsole) shows an entry for "camel-context-1" that is difficult to distinguish from a viable context that happens to be stopped.

    Description

      Certain Camel context occupy a sort of shadow state that lies somewhere between viable-but-stopped, and broken. Such contexts do not show up in the output of "context-list" in the Karaf container, but they do show up in JMX/Hawtio. The problem is that the information in JMX/Hawtio does not reflect the "broken" state of the context – it just appears to be stopped. It is therefore confusing to administrators, because the failure is not visible, except by inspecting logs.

      Attachments

        Issue Links

          Activity

            People

              pantinor@redhat.com Paolo Antinori
              rhn-support-kboone Kevin Boone
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: