You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Alexander Azarov (JIRA)" <ji...@apache.org> on 2014/03/17 12:53:42 UTC

[jira] [Commented] (CAMEL-7302) Pubsub SEDA results in concurrent consumers

    [ 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)