camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Liptak (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-6465) Add greedy option to ScheduledPollConsumer
Date Mon, 17 Jun 2013 20:12:21 GMT

    [ 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

Mime
View raw message