226.12. 通过 arrival 时间进行测试


可作为 Camel 2.7 提供

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

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

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

例如,在下一个操作前,第一个信息应该在 0-2 秒间进行到达:

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

您还可以将其定义为第 2 个消息(基于 0 索引)应该后再达到 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

© 2025 Red Hat