架构
延迟器
登录后可跨设备保存划线和私人笔记登录
延迟器(Delayer)
延迟器用于减慢消息的处理速度。
它允许你为消息在路由中经过的每个步骤之间设置固定的延迟时间。这样可以更好地、缓慢地展示各个步骤的执行过程,避免被海量的日志输出所淹没。
使用延迟器
延迟器可以在两个层级进行配置:
- Camel 上下文:全局
- 路由:针对每条路由单独配置
使用 Spring XML 配置
按如下所示设置 <camelContext> 标签的 delayer 属性:
Spring XML
<camelContext id="camel" delayer="500" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
<to uri="mock:result"/>
</route>
</camelContext>使用 Java 配置
您可以通过在 CamelContext 上设置 delay 值来启用消息延迟,如下所示:
camelContext.setDelayer(200);在路由级别进行配置
你也可以根据需要在 Camel 上下文和每条路由上分别进行配置。每条路由的设置会覆盖 Camel 上下文的设置。
例如,下面的路由只有第一条路由带有 200 毫秒的延迟器。
- Java
- XML
- YAML
from("direct:start").delayer(200)
.to("mock:result")<route delayer="200">
...
</route>
<route>
...
</route>- route:
delayer: 200
from:
uri: direct:start
steps:
- to:
uri: mock:result评论
登录后参与评论
正在加载评论…
KnowForge