Edoardo Causarano created CAMEL-10442:
-----------------------------------------

             Summary: Multicast leaks into Pipeline stages?
                 Key: CAMEL-10442
                 URL: https://issues.apache.org/jira/browse/CAMEL-10442
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.18.0
            Reporter: Edoardo Causarano


When defining a route with two (or more) parallel pipelines, it seems that the 
exchange is being broadcast to all steps (including the intermediate) of the 
pipelines, rather than just their heads. Whether or not this unintuitive - if 
not incorrect - behavior occurs when using shorthand syntaxes in the route 
definition (see 
https://gist.github.com/ecausarano/4b66294464741b9f626890b29ea0aec2)

Working route: 
.pipeline().to("A").to("B").end()
.pipeline().to("C").to("D").end()

10:41:12.644 [main] INFO route1 - after direct:start body=START
10:41:12.666 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> A 
Exchange[ID-Spitfire-local-50181-1477993271722-0-3]
10:41:12.667 [main] DEBUG com.esc.test.MulticastPipelinesTest - A got in=START
10:41:12.667 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> B 
Exchange[ID-Spitfire-local-50181-1477993271722-0-3]
10:41:12.667 [main] DEBUG com.esc.test.MulticastPipelinesTest - B got in=A
10:41:12.670 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> C 
Exchange[ID-Spitfire-local-50181-1477993271722-0-4]
10:41:12.671 [main] DEBUG com.esc.test.MulticastPipelinesTest - C got in=START
10:41:12.671 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> D 
Exchange[ID-Spitfire-local-50181-1477993271722-0-4]
10:41:12.671 [main] DEBUG com.esc.test.MulticastPipelinesTest - D got in=C

Faulty routes:
.pipeline("A", "B")
.pipeline("C", "D”)
or                                      
.to("A", "B")
.to("C", "D")

10:43:46.383 [main] INFO route1 - after direct:start body=START
10:43:46.389 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> A 
Exchange[ID-Spitfire-local-50316-1477993425625-0-3]
10:43:46.389 [main] DEBUG com.esc.test.MulticastPipelinesTest - A got in=START
10:43:46.390 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> B 
Exchange[ID-Spitfire-local-50316-1477993425625-0-4]
10:43:46.390 [main] DEBUG com.esc.test.MulticastPipelinesTest - B got in=START
10:43:46.391 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> C 
Exchange[ID-Spitfire-local-50316-1477993425625-0-5]
10:43:46.391 [main] DEBUG com.esc.test.MulticastPipelinesTest - C got in=START
10:43:46.391 [main] DEBUG org.apache.camel.processor.SendProcessor - >>>> D 
Exchange[ID-Spitfire-local-50316-1477993425625-0-6]
10:43:46.391 [main] DEBUG com.esc.test.MulticastPipelinesTest - D got in=START
 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to