You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2026/03/11 19:26:00 UTC
[jira] [Updated] (CAMEL-23023) CamelContext Startup behavior interfers with Spring Lifecycle
[ https://issues.apache.org/jira/browse/CAMEL-23023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-23023:
--------------------------------
Fix Version/s: 4.19.0
> CamelContext Startup behavior interfers with Spring Lifecycle
> -------------------------------------------------------------
>
> Key: CAMEL-23023
> URL: https://issues.apache.org/jira/browse/CAMEL-23023
> Project: Camel
> Issue Type: Bug
> Components: camel-spring
> Affects Versions: 4.8.7
> Reporter: Christoph Ewerlin
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.19.0
>
>
> SpringCamelContext registers to ApplicationEvent "ContextRefreshed" and then starts the CamelContext, see SpringCamelContext::onApplicationEvent.
> There is also a comment saying thatÂ
> {code:java}
> // nominally we would prefer to use Lifecycle interface that
> // would invoke start() method, but in order to do that
> // SpringCamelContext needs to implement SmartLifecycle
> // (look at DefaultLifecycleProcessor::startBeans), but it
> // cannot implement it as it already implements
> // RuntimeConfiguration, and both SmartLifecycle and
> // RuntimeConfiguration declare isAutoStartup method but
> // with boolean and Boolean return types, and covariant
> // methods with primitive types are not allowed by the JLS
> // so we need to listen for ContextRefreshedEvent and start
> // on its reception {code}
> The problem with that is, that for instance KafkaConsumers are started as part of the lifecycle before the CamelContext is starting, which in our case results in messages being consumed and delegated to a camel route, before the context is started -> exception, message loss.
> The ideal behavior would be that the camel context is started BEFORE the kafka listeners start to fire.
> In case it is difficult to fix, maybe it will be an option to update it together with the spring boot 4 integration ticket?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)