18.4. 端点选项


Dataset 端点使用 URI 语法进行配置:

dataset:name
Copy to Clipboard Toggle word wrap

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

18.4.1. 路径参数(1 参数)

Expand
名称描述默认类型

名称 (common)

在 registry 中查找 所需的 DataSet 名称。

 

DataSet

18.4.2. 查询参数(21 参数)

Expand
名称描述默认类型

dataSetIndex (common)

控制 CamelDataSetIndex 标头的行为。对于 Consumers: - off = 标题将不会被设置 - strict/lenient = header will be set For Producers: - off = off = the header 值不会被验证,如果没有 present,则不会设置。

Enum 值:

  • strict
  • lenient
  • off

lenient

字符串

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

initialDelay (消费者)

在开始发送消息前等待 millis 中的时间段。

1000

long

minRate (consumer)

等待 DataSet 至少包含这个数量的消息。

0

int

preloadSize (consumer)

设置路由完成初始化前应预加载(sent)的消息数量。

0

long

produceDelay (使用者)

允许指定延迟,这会导致在消费者发送消息时造成延迟(模拟缓慢处理)。

3

long

exceptionHandler (消费者)

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不在使用。默认情况下,使用者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

ExchangePattern (消费者)

在消费者创建交换时设置交换模式。

Enum 值:

  • 仅限
  • InOut
  • InOptionalOut
 

ExchangePattern

assertPeriod (producer)

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

 

long

UseDelay (producer)

允许指定延迟,这会导致在制作者消耗消息时造成延迟(模拟缓慢处理)。

0

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)

制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 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