8.17. sampling
sampling Throttler 复制链接链接已复制到粘贴板!
抽样节流允许您通过路由从流量中提取交换示例。它被配置为一个抽样周期,在此期间 只允许一个 交换通过。所有其他交换将停止。
默认情况下,示例周期为 1 秒。
Java DSL 示例 复制链接链接已复制到粘贴板!
使用 sample () DSL 命令调用 sampler,如下所示:
// Sample with default sampling period (1 second)
from("direct:sample")
.sample()
.to("mock:result");
// Sample with explicitly specified sample period
from("direct:sample-configured")
.sample(1, TimeUnit.SECONDS)
.to("mock:result");
// Alternative syntax for specifying sampling period
from("direct:sample-configured-via-dsl")
.sample().samplePeriod(1).timeUnits(TimeUnit.SECONDS)
.to("mock:result");
from("direct:sample-messageFrequency")
.sample(10)
.to("mock:result");
from("direct:sample-messageFrequency-via-dsl")
.sample().sampleMessageFrequency(5)
.to("mock:result");
Spring XML 示例 复制链接链接已复制到粘贴板!
在 Spring XML 中,使用 sample 元素调用 sampler,您可以选择使用 samplePeriod 和 units 属性指定抽样周期:
<route>
<from uri="direct:sample"/>
<sample samplePeriod="1" units="seconds">
<to uri="mock:result"/>
</sample>
</route>
<route>
<from uri="direct:sample-messageFrequency"/>
<sample messageFrequency="10">
<to uri="mock:result"/>
</sample>
</route>
<route>
<from uri="direct:sample-messageFrequency-via-dsl"/>
<sample messageFrequency="5">
<to uri="mock:result"/>
</sample>
</route>
选项 复制链接链接已复制到粘贴板!
示例 DSL 命令支持以下选项:
| Name | 默认值 | 描述 |
|
| 对第 N 条消息进行抽样。您只能使用频率或周期。 | |
|
|
| 对第 N 个期间内的信息进行抽样。您只能使用频率或周期。 |
|
|
|
时间单位作为 JDK 中的 |