3.4. 默认关闭策略


红帽构建的 Apache Camel 支持使用 org.apache.camel.spi.ShutdownStrategy 的关闭策略,它负责以安全的方式关闭路由。红帽构建的 Apache Camel 在 org.apache.camel.impl.engine.DefaultShutdownStrategy 中提供默认策略,以处理路由的安全关闭。

注意

DefaultShutdownStrategy 类已从软件包 org.apache.camel.impl 移到 Apache Camel 3.x 中的 org.apache.camel.impl.engine

当您配置一个简单的调度路由策略来停止路由时,路由停止算法会自动与安全关闭过程集成。这意味着,该任务在关闭路由前等待当前交换完成处理。您可以设置超时,它会强制路由在指定时间后停止,无论路由是否完成处理交换。

在安全关闭过程中,如果您在 org.apache.camel.impl.engine.DefaultShutdownStrategy 上启用 DEBUG 日志级别,则它会记录相同的 inflight Exchange 信息。

2015-01-12 13:23:23,656 [- ShutdownTask] INFO DefaultShutdownStrategy - There are 1 inflight exchanges:
InflightExchange: [exchangeId=ID-test-air-62213-1421065401253-0-3, fromRouteId=route1, routeId=route1, nodeId=delay1, elapsed=2007, duration=2017]

如果您不想查看这些日志,您可以通过将 logInflightExchangesOnTimeout 选项设置为 false 来关闭这个日志。

  context.getShutdownStrategegy().setLogInflightExchangesOnTimeout(false);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.