34.4. 端点选项


Mock 端点是使用 URI 语法配置的:

mock:name
Copy to Clipboard Toggle word wrap

使用以下路径和查询参数:

34.4.1. 路径参数(1 参数)

Expand
名称描述默认类型

name (producer)

所需 模拟端点的名称。

 

字符串

34.4.2. 查询参数(12 参数)

Expand
名称描述默认类型

assertPeriod (producer)

设置一个宽限期,之后模拟端点将重新排序,以确保初始断言仍有效。例如,这用于对正好有多个消息到达的模拟。例如,如果 expectedMessageCount (int)被设置为 5,则在 5 个或更多消息到达时满足断言。为确保完全有 5 个消息到达,您需要等待一些 period 以确保进一步的消息到达。这就是您可以使用此方法。默认情况下禁用此周期。

 

long

expectedCount (producer)

指定此端点应接收的预期消息交换数量。注意:如果您希望有 0 个消息,请额外小心,因为测试启动时为 0 匹配,因此您需要设置一个断言期限时间,以便让测试运行一段时间,以确保仍没有消息到达;对于该使用 setAssertPeriod (长)。另一种方法是使用 NotifyBuilder,并在您调用模拟上的 assertIsSatisfied ()方法前,了解 Camel 何时进行路由。这可让您不要使用固定断言周期来加快测试时间。如果您希望使第 n 个消息到达这个模拟端点,请参阅 setAssertPeriod (long)方法以了解更多详情。

-1

int

FAILfast (producer)

设置 assertIsSatisfied ()应该在第一次检测到的失败时快速失败,否则可能会等待所有预期消息到达,然后执行预期验证。默认为 true。设置为 false 以使用 Camel 2.x 中的行为。

false

布尔值

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

日志 (生成器)

当模拟收到传入消息时打开日志记录。这将仅在 INFO 级别记录传入消息的时间。如需更详细的日志记录,请将 org.apache.camel.component.mock.MockEndpoint 类的日志记录器设置为 DEBUG 级别。

false

布尔值

reportGroup (producer)

一个数字,用于根据大小的组打开吞吐量日志记录。

 

int

resultMinimumWaitTime (producer)

设置 assertIsSatisfied ()的最小预期时间(在 millis 中)将等待到满足为止。

 

long

resultWaitTime (producer)

设置 assertIsSatisfied ()的最长时间(在 millis 中)将等待到满足为止。

 

long

保留First (producer)

指定只保留前 n 个接收交换数。这在测试大数据时使用,通过不存储此模拟端点接收的每个 Exchange 的副本来减少内存消耗。重要:使用此限制时,getReceivedCounter ()仍会返回收到的实际收到的交换数。例如,如果我们收到 5000 Exchanges,并且已配置为只保留前 10 个交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有前 10 Exchanges。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…​)在收到的第一个正文数量上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个收到的第一个和最后一个方法。

-1

int

retainLast (producer)

指定只保留最后 n 个接收交换数。这在测试大数据时使用,通过不存储此模拟端点接收的每个 Exchange 的副本来减少内存消耗。重要:使用此限制时,getReceivedCounter ()仍会返回收到的实际收到的交换数。例如,如果我们收到 5000 Exchanges,并且已配置为仅保留最后 20 交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有最后 20 Exchanges。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…​)在收到的第一个正文数量上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个收到的第一个和最后一个方法。

-1

int

sleepForEmptyTest (producer)

当 expectedMessageCount (int)被调用为零时,允许一个 sleep 指定等待检查此端点是否为空。

 

long

copyOnExchange (producer (advanced))

设置在此模拟端点接收时是否生成传入 Exchange 的深度副本。默认为 true。

true

布尔值

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat