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

Only the first processor in a <doFinally> block is executed in Switchyard application

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: jboss-fuse-6.2.1
    • Fix Version/s: jboss-fuse-6.3
    • Component/s: Camel
    • Labels:
      None
    • Sprint:
      6.3 Sprint 4 (Mar 28 - Apr 29)
    • Steps to Reproduce:
      Hide

      See attached test case:
      $ mvn clean package

      17:26:16,882 INFO  [route1] Service - message received: <test:request xmlns:test="http://www.example.org/test/">TEST-MESSAGE</test:request>
      17:26:16,888 INFO  [route1] ========== LOG Output One   ==========
      17:26:16,989 WARN  [org.apache.cxf.phase.PhaseInterceptorChain] Application {http://www.example.org/test/}service#{http://www.example.org/test/}operation has thrown exception, unwinding now
      

      Despite the doFinally clause containing three log processors:

            <doFinally>
              <log message="========== LOG Output One   =========="/>
              <log message="========== LOG Output Two   =========="/>
              <log message="========== LOG Output Three =========="/>
            </doFinally>
      
      Show
      See attached test case: $ mvn clean package 17:26:16,882 INFO [route1] Service - message received: <test:request xmlns:test="http://www.example.org/test/">TEST-MESSAGE</test:request> 17:26:16,888 INFO [route1] ========== LOG Output One ========== 17:26:16,989 WARN [org.apache.cxf.phase.PhaseInterceptorChain] Application {http://www.example.org/test/}service#{http://www.example.org/test/}operation has thrown exception, unwinding now Despite the doFinally clause containing three log processors: <doFinally> <log message="========== LOG Output One =========="/> <log message="========== LOG Output Two =========="/> <log message="========== LOG Output Three =========="/> </doFinally>

      Description

      In case of a fault message, the doFinally clause only executes the first processor. If the doFinally block contains more than one processor, remaining processors are ignored.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tcunning Thomas Cunningham
                  Reporter:
                  mputz Martin Weiler
                  Tester:
                  Stefan Veres
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: