[
https://issues.apache.org/jira/browse/CAMEL-17162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17438492#comment-17438492
]
Claus Ibsen commented on CAMEL-17162:
-------------------------------------
The greedy is not the problem, its because you set that exchange property at
the end of the route which gets set on another thread than the consumer thread.
And this is due when using EIPs in parallel mode.
> greedy scheduler is too greedy
> ------------------------------
>
> Key: CAMEL-17162
> URL: https://issues.apache.org/jira/browse/CAMEL-17162
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 3.12.0
> Reporter: Jeremy Ross
> Priority: Minor
>
> If a greedy scheduler has a downstream split or multicast with
> parallelProcessing=true, it appears to short circuit inflight exchanges and
> rapid fire new exchanges. This despite the fact that it has a thread pool
> size of 1.
> Reproducer:
> [https://github.com/jeremyross/splittest|https://github.com/jeremyross/splittest]
> {code:java}
> from("scheduler:testBug?initialDelay=1000&useFixedDelay=true&delay=60000&greedy=true")
> .multicast().parallelProcessing()
> .log("test")
> .end()
> // this should result in the scheduler waiting its delay period before
> sending
> // another exchange
> .setProperty(Exchange.SCHEDULER_POLLED_MESSAGES, constant(false))
> .to("mock:parentComplete");
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)