29.5. 端点选项
Dataset 端点使用 URI 语法进行配置:
dataset:name
dataset:name
使用以下路径和查询参数:
29.5.1. 路径参数(1 参数) 复制链接链接已复制到粘贴板!
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| name (common) | 在 registry 中查找的 DataSet 所需的 名称。 | DataSet |
29.5.2. 查询参数(21 参数) 复制链接链接已复制到粘贴板!
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| dataSetIndex (common) | 控制 CamelDataSetIndex 标头的行为。对于 Consumers: - off = header is not be set - strict/lenient = the header will be set For Producers: - off = header value is not be enabled, will not present = strict = header value be present,并将被验证 = lenient = 标头值(如果不存在),则将设置该标头值。 Enum 值:
| lenient | 字符串 |
| bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
| initialDelay (consumer) | 开始发送消息前等待的时间周期。 | 1000 | long |
| minRate (consumer) | 等待 DataSet 包含至少此数量的信息。 | 0 | int |
| preloadSize (consumer) | 设置在路由完成其初始化前应预加载(sent)的消息数量。 | 0 | long |
| produceDelay (consumer) | 指定一个延迟,这会在消费者发送消息时造成延迟(模拟缓慢处理)。 | 3 | long |
| exceptionHandler (consumer (advanced)) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
| exchangePattern (consumer (advanced)) | 在消费者创建交换时设置交换模式。 Enum 值:
| ExchangePattern | |
| assertPeriod (producer) | 设置一个宽限期,在此期内,模拟端点将重新开始处理,以确保初始断言仍然有效。这用于 assert,用于准确有多个消息到达的信息。例如,如果 expectedMessageCount (int)被设置为 5,则在 5 或更多消息到达时满足断言。为确保正好 5 个消息到达,您需要稍等片刻,以确保没有进一步的消息到达。这是您可以使用此方法的方法。默认情况下禁用此周期。 | long | |
| consumeDelay (producer) | 指定一个延迟,这会在生成者消耗消息时造成延迟(模拟较慢的处理)。 | 0 | long |
| expectedCount (producer) | 指定此端点应接收的预期消息交换数量。注意:如果您希望 0 个信息,然后进行额外操作,如测试启动时为 0 匹配,因此您需要设置一个 assert 周期,以便让测试运行一段时间,以确保还没有到达消息;对于使用 setAssertPeriod (long)。另一种方法是使用 NotifyBuilder,并在对模拟调用 assertIsSatisfied ()方法前,使用 notifier 知道 Camel 何时完成一些消息。这可让您不要使用固定的 assert 周期来加快测试时间。如果您要断言正好 n 个消息到达这个 mock 端点,那么还会看到 setAssertPeriod (long)方法了解更多详情。 | -1 | int |
| failfast (producer) | 设置 assertIsSatisfied ()应该在第一次检测到的失败预期失败时快速失败,否则可能会等待所有预期消息在执行预期验证前到达。默认为 true。设置为 false 以使用 Camel 2.x 中的行为。 | false | 布尔值 |
| lazyStartProducer (producer) | 生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
| log (producer) | 在模拟收到传入消息时打开日志记录。这只会记录传入消息的 INFO 级别一次。如需更详细的日志记录,然后将 org.apache.camel.component.mock.MockEndpoint 类的 logger 设置为 DEBUG 级别。 | false | 布尔值 |
| reportGroup (producer) | 用于根据大小组打开吞吐量日志的数字。 | int | |
| resultMinimumWaitTime (producer) | 设置预期时间(在 millis 中),assertIsSatisfied ()将等待一个白板,直到其满足为止。 | long | |
| resultWaitTime (producer) | 设置 assertIsSatisfied ()将等待的最长时间(在 millis 中),直到其满足为止。 | long | |
| retainFirst (producer) | 指定只保留第 n 个接收的交换数。这在使用大数据测试时使用,通过不存储每个交换端点接收的副本来减少内存消耗。重要:使用这个限制时,getReceivedCounter ()仍会返回接收的交换的实际数量。例如,如果我们收到 5000 Exchange,并且已配置为只保留前 10 个交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有前 10 个交换。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…)在收到第一个数量的正文上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个接收的限制。 | -1 | int |
| retainLast (producer) | 指定只保留最后 n 个接收的交换数。这在使用大数据测试时使用,通过不存储每个交换端点接收的副本来减少内存消耗。重要:使用这个限制时,getReceivedCounter ()仍会返回接收的交换的实际数量。例如,如果我们收到 5000 Exchange,并且已配置为只保留最后 20 个交换,则 getReceivedCounter ()仍会返回 5000,但 getExchanges ()和 getReceivedExchanges ()方法中只有最后 20 个交换。使用此方法时,不支持一些其他预期方法,例如 expectedBodiesReceived (Object…)在收到第一个数量的正文上设置预期。您可以配置 setRetainFirst (int)和 setRetainLast (int)方法,以限制第一个和最后一个接收的限制。 | -1 | int |
| sleepForEmptyTest (producer) | 当 expectedMessageCount (int)被调用为零时,允许指定 sleep 来检查此端点是否确实为空。 | long | |
| copyOnExchange (producer (advanced)) | 设置在这个模拟端点收到时是否制作传入 Exchange 的深度副本。默认为 true。 | true | 布尔值 |