[
https://issues.apache.org/jira/browse/CAMEL-7601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14063321#comment-14063321
]
Andrzej Gdula commented on CAMEL-7601:
--------------------------------------
I did test that option. It does not guarantee that messages are processed in
*order* which *is requirement* of my project.
The test fails because it expects that when a message in a queue has an
exception next message is not processed until that exceptional condition is
over.
Problem.
1. I must not pass message out of order - project specific requirement.
2. I have lots of source messages and lots of destinations - need to use
thread pool to limit Threading overhead.
3. Some of these outputs are unavailable for some time ( imagine lots of
mobile devices that I could push thing to and they tend to be out of range for
most of the time ).
3'rd point is not an actual case. I use exceptions as a way to hold processing
on one queue when i detect that processing cannot be done yet. Anyways is a
similar situation as in 3.rd point.
> maximumRedeliveries=-1 plus scheduledExecutorService=pool(1 thread) equals
> problem
> ----------------------------------------------------------------------------------
>
> Key: CAMEL-7601
> URL: https://issues.apache.org/jira/browse/CAMEL-7601
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.12.1, 2.13.2
> Reporter: Andrzej Gdula
> Priority: Minor
>
> https://github.com/agdula/camel-test/blob/master/src/test/java/com/pb/psep/testbase/ThreadPoolTest.java
> Test that demonstrates a problem when
> onException(SomeException.class).maximumRedeliveries(-1)
> and
> scheduledExecutorService=poolOfThreads(X)
> When there are lots of routes using single threadPool and there happen to be
> more than X exceptions in X routes that will be redelivered forever
> then thread pool gets hogged and other routes are unable to process.
> Thread are stuck on
> org.apache.camel.processor.RedeliveryPolicy.sleep(RedeliveryPolicy.java:188)
> If camel instead of waiting would schedule retry then it probably would
> solve the problem.
--
This message was sent by Atlassian JIRA
(v6.2#6252)