You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Denis Chirov (JIRA)" <ji...@apache.org> on 2017/07/05 18:59:00 UTC

[jira] [Comment Edited] (CAMEL-11515) Aggregator is not working correctly when completionTimeout < 1000ms

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

Denis Chirov edited comment on CAMEL-11515 at 7/5/17 6:58 PM:
--------------------------------------------------------------

Hello, 
I understand that it's not very good, but for the following use-case it will be the single solution:
Two messages are processed in 2 different routes.
When first message arrives to the agregator, it should wait maximum 150ms for the second message. After this timeout the exchange is going further, even if it contains the information from only one message.


was (Author: adonys):
Hello, 
I understand that's not very good, but for the following use-case it will be the single solution:
Two message are processed in 2 different routes.
When first message arrives to the agregator, it should wait maximum 150ms for the second message. After this timeout the exchange is going further, even if it contains the information from only one message.

> Aggregator is not working correctly when completionTimeout < 1000ms
> -------------------------------------------------------------------
>
>                 Key: CAMEL-11515
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11515
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.18.3
>            Reporter: Denis Chirov
>         Attachments: AggregateExpressionTimeoutTestModified.java
>
>
> The aggregated exchange doesn't become complete after a completionTimeout which is lower than 1000ms (e.g. 150ms)
> From source code, seems that there is no way to set a value for AggregationTimeoutMap from AggregateProcessor class:
> {code}
> {{	// check for timed out aggregated messages once every second
> 	timeoutMap = new AggregationTimeoutMap(getTimeoutCheckerExecutorService(), 1000L);}}
> {code}
> because it's hardcoded to 1s.
> A new option like *timeoutCheckerExecutorInterval* with default value of 1000ms will solve the problem.	



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)