87.15. 使用 arrival 时间进行测试


Mock 端点将消息的 arrival 时间存储为 Exchange 的属性

Date time = exchange.getProperty(Exchange.RECEIVED_TIMESTAMP, Date.class);
Copy to Clipboard Toggle word wrap

您可以使用此信息知道消息何时到达模拟。但它还提供了基础,以便了解上一个和下一个消息到达模拟之间的时间间隔。您可以使用此选项在 Mock 端点上设置使用 arrives DSL 的预期。

例如,假设第一条消息应该在下一个下一个消息前达到 0-2 秒:

mock.message(0).arrives().noLaterThan(2).seconds().beforeNext();
Copy to Clipboard Toggle word wrap

您还可以将其定义为第 2 个消息(基于索引),在上一个消息后不应达到 0-2 秒:

mock.message(1).arrives().noLaterThan(2).seconds().afterPrevious();
Copy to Clipboard Toggle word wrap

您还可以在 间使用 来设置较低的绑定。例如,假设它应该在 1-4 秒之间:

mock.message(1).arrives().between(1, 4).seconds().afterPrevious();
Copy to Clipboard Toggle word wrap

您还可以设置所有消息的预期,例如:它们之间的差距应该最多为 1 秒:

mock.allMessages().arrives().noLaterThan(1).seconds().beforeNext();
Copy to Clipboard Toggle word wrap
注意

上面示例中的 时间单元
使用 作为时间单位,但 Camel 还提供 毫秒分钟

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat