226.11. 限制要保留的消息数量
可从 Camel 2.10 开始
Mock 端点默认保留其收到的每个交换的副本。因此,如果您使用大量消息进行测试,那么它将消耗内存。
从 Camel 2.10 开始,我们引入了两个选项 保留了First 保留,它可用于仅保留第 N 个和/或最后一个 Exchange。
例如,在下面的代码中,我们只想保留第 5 个并最后的 5 Exchange 接收的模拟数据副本。
使用此功能存在一些限制。MockEndpoint 上的 getExchanges() 和 getReceivedExchanges() 方法仅返回 Exchanges 的保留副本。因此,在上面的示例中,列表将包含 10 个 Exchanges、前五个和最后五个。retainFirst 和 retainLast 选项也有一些限制,您可以预期使用方法。例如,针对消息正文、标头等操作 的预期XXX 方法将仅对保留的消息执行操作。在上例中,它们只能测试 10 个保留的消息中的预期。