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

John Liptak commented on CAMEL-6465:
------------------------------------

While doing performance testing on the JPA component, I found significant 
performance benefits resulted from 
adding an optional "greedy" flag for use in the batch subclass.  The behavior 
is that if messages are processed, rather than yielding, go back for more work. 
 For database polling work this has two advantages:
1. you can keep the polling slower so you don't skew your database monitoring 
with "do you have work".
2. you can keep your batch size smaller, allowing you to ensure that batches 
fit in memory.

add 
    private boolean greedy = false;
plus getters and setters
and change doRun() from
...
                            if (polledMessages == 0 && 
isSendEmptyMessageWhenIdle()) {
                                // send an "empty" exchange
                                processEmptyMessage();
                            }
...
to
...
                            if (polledMessages == 0 && 
isSendEmptyMessageWhenIdle()) {
                                // send an "empty" exchange
                                processEmptyMessage();
                            } else if(polledMessages > 0  && greedy){
                                done = false; // loop again
                                retryCounter = -1;
                                LOG.trace("Greedy polling after processing {} 
messages", polledMessages);
                            }
...


                
> Add greedy option to ScheduledPollConsumer
> ------------------------------------------
>
>                 Key: CAMEL-6465
>                 URL: https://issues.apache.org/jira/browse/CAMEL-6465
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.10.4
>            Reporter: John Liptak
>            Priority: Minor
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to