295.2. SCR 中的 AbstractCamelRunner 的生命周期


  1. 当组件的配置策略和强制引用满足 SCR 调用 activate () 时。这会通过以下调用链创建并设置 CamelContext: activate () prepare () createCamelContext () setupPropertiesComponent () configure () setupCamelContext ()。最后,上下文在 AbstractCamelRunner.START_DELAY 中定义的延迟后启动,并带有 runWithDelay ()
  2. 当在 OSGi 中注册 Camel 组件(组件Resolver 服务,为了准确)时,SCR 调用 会得到CamelComponent'(),其重新排期/延迟了 CamelContext 的相同 AbstractCamelRunner.START_DELAY。这种效果会导致 CamelContext 等待,直到载入所有 Camel 组件或它们之间有足够差距。同一逻辑将告知在我们添加更多 Camel 组件时再次尝试失败的 CamelContext。
  3. 当 Camel 组件取消注册时,SCR 调用 lostCamelComponent'()'。此调用什么都不做。
  4. 当导致调用 激活() 的要求之一时,SCR 将调用 deactivate ()。这将关闭 CamelContext。

在(non-OSGi)单元测试中,您应该使用 prepare () run () stop () 而不是 activate () 进行更精细的控制。另外,这使我们可以避免在测试中可能出现 SCR 特定操作。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部