226.11. 限制要保留的消息数量


可从 Camel 2.10 开始

Mock 端点默认保留它收到的每个交换的副本。因此,如果您使用大量消息进行测试,那么它将消耗内存。
从 Camel 2.10 开始,我们引入了两个选项 保留了First 保留,它可用于仅保留第 N 个和/或最后一个 Exchange。

例如,在下面的代码中,我们只想保留模拟接收的前 5 个和最后一个 5 Exchange 的副本。

  MockEndpoint mock = getMockEndpoint("mock:data");
  mock.setRetainFirst(5);
  mock.setRetainLast(5);
  mock.expectedMessageCount(2000);

  mock.assertIsSatisfied();
Copy to Clipboard Toggle word wrap

使用这有一些限制。MockEndpoint 上的 getExchanges ()getReceivedExchanges () 方法只返回 Exchanges 的保留副本。因此,在上面的示例中,列表中包含 10 个交换;前五个,以及最后五个。
reserved FirstkeepLast 选项也有您可以使用哪些预期方法的限制。例如,处理消息正文、标头等的 预期的XXX 方法将仅对保留的消息进行操作。在上面的示例中,它们只能测试 10 个保留的消息上的预期。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat