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

EventNotifier: Not all steps are triggered as events

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 4.6.0
    • 4.7.0
    • came-core
    • None
    • Unknown

    Description

      I like to get all events of the step eip with the EventNotifier. However it seems that not all steps trigger events.

      To demonstrate this I created two integrations:

      Integration: Test1

      <routes>
          <route id="Test1_1">
              <from uri="timer://foo?fixedRate=true&amp;period=10000&amp;repeatCount=1"/>
              <setBody>
                  <constant>test1</constant>
              </setBody>
              <step id="Test1_Step1">
                  <to uri="mock:x"/>
                  <to uri="direct:ID_2"/>
              </step>
          </route>
          <route id="Test1_2">
              <from uri="direct:ID_2"/>
              <step id="Test1_Step2">
                  <to uri="mock:x"/>
                  <to uri="direct:ID_3"/>
              </step>
          </route>
          <route id="Test1_3">
              <from uri="direct:ID_3"/>
              <step id="Test1_Step3">
                  <to uri="mock:x"/>
                  <to uri="log:myLog"/>
              </step>
          </route>
      </routes> 

      Integration: Test2

      <routes>
          <route id="Test2_1">
              <from uri="timer://foo?fixedRate=true&amp;period=10000&amp;repeatCount=1"/>
              <setBody>
                  <constant>test2</constant>
              </setBody>
              <step id="Test2_Step1">
                  <to uri="direct:ID_2_2"/>
              </step>
          </route>
          <route id="Test2_2">
              <from uri="direct:ID_2_2"/>
              <step id="Test2_Step2">
                  <to uri="direct:ID_3_2"/>
              </step>
          </route>
          <route id="Test2_3">
              <from uri="direct:ID_3_2"/>
              <step id="Test2_Step3">
                  <to uri="log:myLog2"/>
              </step>
          </route>
      </routes> 

      For the first integration, every time the step is reached, I get an event. For the second integration, the mock endpoints are removed, and those steps don't trigger an event.

      I would like to that every step triggers an event, such as:

      <step id="foo">
          <to uri="log:myLog"/>
      </step>

       
      Though maybe out of scope for this issue, it would even be practical to do something like this:

      <step id="foo"/>

      This step doesn't have any child nodes, but could be used to catch events at various points in a route.

       

      Attachments

        1. main-xml.zip
          18 kB
          Raymond

        Activity

          People

            davsclaus Claus Ibsen
            skin27 Raymond
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: