[
https://issues.apache.org/jira/browse/CAMEL-7308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
metatech updated CAMEL-7308:
----------------------------
Attachment: camel_timer_startuplistener.diff
> Timer component : timer should use StartupListener to be initialized before
> first fire
> --------------------------------------------------------------------------------------
>
> Key: CAMEL-7308
> URL: https://issues.apache.org/jira/browse/CAMEL-7308
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.10.7
> Environment: ServiceMix 4.5.3
> Reporter: metatech
> Attachments: camel_timer_startuplistener.diff
>
>
> CAMEL-5542 creates a regression for our routes when migrating from ServiceMix
> 4.4 to ServiceMix 4.5.
> The secondary route in which we use this timer populates a cache, which must
> be initialized before other primary routes in the bundle can use it,
> otherwise requests sent to these other routes will generate errors.
> In our ServiceMix installation with all the other bundles, the bundle with
> the timer can take from 1 second to 30 seconds to start-up, depending on the
> machine speed and the number of other bundles which are installed/started at
> the same time.
> It is therefore very difficult to estimate the time to define for the "delay"
> variable. If set too low, the first fire will be ignored and the other
> primary routes will generate errors until the timer second fire. If set too
> high, the other primary routes will generate errors until the timer first
> fire.
> Normally the timer period is set to refresh the cache every several minutes,
> which leaves a large window where requests end with an error in case the
> cache failed to initialize.
> Here is a patch with a StartupListener which effectively reduces the window
> of errors to a fraction of a second.
> Also, it would help to debug these kind of problems if a "debug" log is added
> when the first timer fire is ignored.
--
This message was sent by Atlassian JIRA
(v6.2#6252)