[ 
https://issues.apache.org/jira/browse/CAMEL-7302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13937707#comment-13937707
 ] 

Alexander Azarov commented on CAMEL-7302:
-----------------------------------------

One extra note. It seems that `disruptor` component solves the problem - 
https://github.com/alaz/camel-pubsub/commit/78d96521b1ac9309c9bf8025d233a6f48110dc9f

Which is great for us, we may mitigate this problem by simply switching the bus 
to Disruptor

> Pubsub SEDA results in concurrent consumers
> -------------------------------------------
>
>                 Key: CAMEL-7302
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7302
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.11.4, 2.12.3
>            Reporter: Alexander Azarov
>            Priority: Critical
>
> SEDA consumers by default use a single consumer thread, thus a processor may 
> be certain the messages come in order, i.e. sequentially.
> But this behavior changes drastically when using publish-subscribe SEDA 
> queue. Since it makes use of "multicast" and "paralellProcessor" internally, 
> consumer routes get called via a threadPool and thus the consumer effectively 
> (and implicitly) becomes a "concurrent consumer".
> In our application this results in multiple threads running the same 
> processor and we cannot guarantee the messages get processed in order.
> I have prepared a small demonstration to show the case - 
> https://github.com/alaz/camel-pubsub



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to