21.4.2. 查询参数(111 参数)
Name | 描述 | 默认 | 类型 |
---|---|---|---|
binary (common) | 指定文件传输模式 BINARY 或 ASCII。默认为 ASCII(false)。 | false | 布尔值 |
charset (common) | 此选项用于指定文件的编码。您可以在消费者上使用它来指定文件的编码,以便 Camel 能够知道 charset,它应在访问文件内容时加载文件内容。与编写文件时一样,您可以使用这个选项指定写入该文件的 charset。请记住,在编写文件 Camel 时,可能需要将消息内容读取到内存中,才能将数据转换为配置的 charset,因此如果您有大型消息,请不要使用该消息。 | 字符串 | |
disconnect (common) | 使用后是否右侧是否断开与远程 FTP 服务器的连接。断开连接将只断开与 FTP 服务器的连接。如果您有要停止的消费者,则需要改为停止消费者/路由。 | false | 布尔值 |
doneFileName (common) | 制作者:如果提供,Camel 在写入原始文件时,Camel 将编写一个第三文件。完成的文件将为空。这个选项配置要使用的文件名。您可以指定一个固定名称。或者您可以使用动态占位符。完成的文件将始终写入与原始文件相同的文件夹中。消费者:如果提供,Camel 仅会在文件存在时消耗文件。这个选项配置要使用的文件名。您可以指定一个固定名称。或者,您可以使用动态占位符。已完成的文件始终位于与原始文件相同的文件夹中。只支持 $\\{file.name} 和 $\\{file.name.next} 作为动态占位符。 | 字符串 | |
fileName (common) | 使用文件语言等表达式动态设置文件名。对于消费者,它被用作文件名过滤器。对于制作者,它用于评估要写入的文件名。如果设置了表达式,它将优先于 CamelFileName 标头。(注意:标题本身也可以是表达式。表达式选项支持 String 和 Expression 类型。如果表达式是 String 类型,它始终使用文件语言来评估。如果表达式是 Expression 类型,则使用指定的 Expression 类型 - 这允许您使用 OGNL 表达式。对于消费者,您可以使用它来过滤文件名,因此,您可以使用文件语言语法(mydata-$\\{date:now:yyyyyyyyyyyyyyyyyyyyyyyyYMMdd}.txt)来消耗当前的文件。producers 支持 CamelOverruleFileName 标头优先于任何现有 CamelFileName 标头。CamverruleFileName 是一个仅使用一次的标头,因此更容易地临时存储 CamelFileName,并且之后必须恢复它。 | 字符串 | |
passiveMode (common) | 设置被动模式连接。默认为活跃的模式连接。 | false | 布尔值 |
separator (common) | 设置要使用的路径分隔符。Unix = 使用 unix 样式路径分隔符 Windows = 使用窗口风格的路径分隔符 Auto = (默认)使用文件名中的现有路径分隔符。 枚举值:
| UNIX | PathSeparator |
transferLoggingIntervalSeconds (common) | 配置在日志记录上传和下载 in-flight 的操作时要使用的间隔(以秒为单位)。这在操作需要较长的时间时用于记录进度。 | 5 | int |
transferLoggingLevel (common) | 配置日志记录上传和下载操作的进度时应使用的日志记录级别。 枚举值:
| DEBUG | LoggingLevel |
transferLoggingVerbose (common) | 配置上传和下载操作的进度的详细(细粒度)记录。 | false | 布尔值 |
fastExistsCheck (common (advanced)) | 如果将这个选项设置为 true,则 camel-ftp 将直接使用列表文件来检查文件是否存在。由于某些 FTP 服务器可能不支持直接列出文件,如果 选项为 false,cal-ftp 将使用旧方法列出目录并检查文件是否存在。这个选项还影响 readLock=changed,以控制它是否执行一个快速检查来更新文件信息。如果 FTP 服务器有很多文件,则可以使用这个速度来加快进程。 | false | 布尔值 |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着在消费者尝试获取传入的消息时发生任何异常,或像这样一样处理,消息现在将被作为消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 处理异常,该处理程序将记录在 WARN 或 ERROR 级别并忽略。 | false | 布尔值 |
delete (consumer) | 如果为 true,则在成功处理该文件后将删除该文件。 | false | 布尔值 |
moveFailed (consumer) | 根据简单语言设置移动失败表达式。例如,要将文件移动到 .error 子目录,请使用: .error。注意:将文件移动到故障位置 Camel 将处理错误,不会再次获取该文件。 | 字符串 | |
noop (consumer) | 如果为 true,则文件不会以任何方式移动或删除。这个选项适用于只读数据或 ETL 类型要求。如果 noop=true,Camel 也会设置 idempotent=true,以避免消耗相同的文件。 | false | 布尔值 |
preMove (consumer) | 在进行处理之前,用于动态设置文件名的表达式(如文件语言)。例如,要将文件 in-progress 文件移到 order 目录中,请将这个值设置为 order。 | 字符串 | |
preSort (consumer) | 启用预排序后,消费者将在轮询过程中对文件和目录名称进行排序,后者是从文件系统检索的。如果您需要按排序顺序对文件执行操作,您可能需要执行此操作。预排序是在消费者开始过滤前执行,接受由 Camel 处理的文件。这个选项是 default=false 表示禁用。 | false | 布尔值 |
recursive (consumer) | 如果某个目录,也会查找所有子目录中的文件。 | false | 布尔值 |
resumeDownload (consumer) | 配置是否启用恢复下载。这必须被 FTP 服务器支持(几乎所有 FTP 服务器都支持)。此外,必须配置 localWorkDirectory 选项,以便把下载的文件存储在本地目录中,而且必须启用选项二进制文件,才能支持恢复下载。 | false | 布尔值 |
sendEmptyMessageWhenIdle (consumer) | 如果轮询消费者没有轮询任何文件,您可以启用这个选项来发送空消息(无正文)。 | false | 布尔值 |
streamDownload (consumer) | 将下载方法设置为在不使用本地工作目录时使用。如果设置为 true,则远程文件在读取时流传输到路由。当设置为 false 时,远程文件会在发送到路由前被加载到内存中。如果启用这个选项,则必须设置 stepwise=false,因为这两个选项不能同时启用。 | false | 布尔值 |
download (consumer (advanced)) | FTP 使用者是否应该下载该文件。如果此选项设为 false,则邮件正文将为空,但消费者仍将触发有关文件的详细信息(如文件名、文件大小等)的 Camel Exchange。只是将不下载该文件。 | false | 布尔值 |
exceptionHandler (consumer (advanced)) | 要让消费者使用自定义 ExceptionHandler。请注意,如果选项 bridgeErrorHandler 已启用,则不会使用这个选项。默认情况下,消费者处理异常,该消费者在 WARN 或 ERROR 级别上记录并忽略。 | ExceptionHandler | |
exchangePattern (consumer (advanced)) | 在消费者创建交换时设置交换模式。 枚举值:
| ExchangePattern | |
handleDirectoryParserAbsoluteResult (consumer (advanced)) | 如果目录解析器的结果是,某些 FTP 服务器可能使用绝对路径返回文件名,那么 FTP 组件需要如何处理路径中的子文件夹和文件,如果是,则 FTP 组件需要使用绝对路径处理它。 | false | 布尔值 |
ignoreFileNotFoundOrPermissionError (consumer (advanced)) | 是否在忽略时(试图列出目录中的文件,还是下载文件时),这不存在,还是因为权限错误而不正确。默认情况下,当目录或文件不存在或不足权限时,会抛出异常。将这个选项设置为 true 可改为忽略它。 | false | 布尔值 |
inProgressRepository (consumer (advanced)) | 可插拔 in-progress 存储库 org.apache.camel.spi.IdempotentRepository。in-progress 仓库用于处理当前正在使用的进度文件。默认情况下会使用基于内存的存储库。 | IdempotentRepository | |
localWorkDirectory (consumer (advanced)) | 消耗时,本地工作目录可用于将远程文件内容直接存储在本地文件中,以避免将内容加载到内存中。如果您使用非常大的远程文件,这将非常有用,从而可节省内存。 | 字符串 | |
onCompletionExceptionHandler (consumer (advanced)) | 要使用自定义 org.apache.camel.spi.ExceptionHandler 处理在完成过程中发生的任何引发异常,消费者执行提交或回滚。默认实施会在 WARN 级别记录任何异常并忽略。 | ExceptionHandler | |
pollStrategy (consumer (advanced)) | 可插入的 org.apache.camel.PollingConsumerPollingStrategy 可让您提供自定义实施来控制错误处理,在创建 Exchange 被创建并在 Camel 中路由前通常会发生。 | PollingConsumerPollStrategy | |
processStrategy (consumer (advanced)) | 可插拔 org.apache.camel.component.file.GenericFileProcessStrategy 允许您实施您自己的 readLock 选项或类似选项。当文件可被使用前必须满足特殊条件时,也可以使用,如特殊就绪的文件。如果设定这个选项,则不会应用 readLock 选项。 | GenericFileProcessStrategy | |
useList (consumer (advanced)) | 是否在下载文件时使用 LIST 命令。默认为 true。在某些情况下,您可能想要下载特定文件且不允许使用 LIST 命令,因此您可以将这个选项设置为 false。请注意,使用这个选项时,要下载的特定文件不包括文件大小、时间戳、权限等元数据信息,因为这些信息只能在 LIST 命令被使用时检索。 | true | 布尔值 |
fileExist (producer) | 如果某个文件已存在具有相同名称的文件,该怎么办。override(默认)替换现有文件。- Append - 向现有文件添加内容。- Fail - 抛出 GenericFileOperationException,表明已存在已存在文件。- Ignore - 静默忽略了问题,且不会覆盖现有文件,但假定所有是 okay. - Move - Move - 选项需要使用移动选项。选项 eagerDeleteTargetFile 可用于控制移动文件时以及已存在已存在什么操作,否则会导致 move 操作失败。Move 选项会在写入目标文件前移动任何现有文件。- TryRename 仅适用于 tempFileName 选项。这允许尝试将文件从临时名称重命名为实际名称,而不执行存在检查。在某些文件系统中,这个检查可能会更快,特别是 FTP 服务器。 枚举值:
| 覆盖 | GenericFileExist |
flatten (producer) | flatten 用于扁平化的文件名路径来剥离任何领先的路径,因此它只是文件名。这样,您可以递归地将这些文件写入子目录,但当您将这些文件写入单个目录中时。在制作者上将此设置为 true 强制实施,CamelFileName 标头中的任何文件名将被剥离用于任何领先的路径。 | false | 布尔值 |
jailStartingDirectory (producer) | 仅用于存放(限制)将文件写入起始目录(和 sub)。默认情况下,这可以允许 Camel 将文件写入外部目录(从而更加安全)。您可以关闭此项,以允许向起始目录之外的目录(如父目录或 root 文件夹)写入文件。 | true | 布尔值 |
lazyStartProducer (producer) | 制作者是否应该启动 lazy(在第一个消息上)。通过启动 lazy,您可以使用它来允许 CamelContext 和路由在启动期间启动,否则在启动期间出现问题,并导致路由启动失败。通过将这个启动延迟到 lazy 后,可以在通过 Camel 的路由错误处理程序路由消息期间处理启动失败。注意在处理第一个消息时,创建并启动制作者可能花费较少的时间,从而延长处理的总处理时间。 | false | 布尔值 |
moveExisting (producer) | 配置 fileExist=Move 时用于计算文件名的表达式(如文件语言)。要将文件移动到备份子目录中,只需进入备份。这个选项只支持以下文件语言令牌:file:name、file:name.ext、file:name.noext、file:onlyname、file:onlyname.noext、file:ext 和 file:parent。请注意,FTP 组件不支持 file:parent,因为 FTP 组件只能将任何现有文件移到基于当前 dir 的相对目录中。 | 字符串 | |
tempFileName (producer) | 与 tempPrefix 选项相同,但对临时文件名的命名提供了更精细的控制,因为它使用文件语言。tempFilename 的位置相对于选项 'fileName' 中最终文件位置,而不是 base uri 中的目标目录。例如,如果选项 fileName 包含一个目录前缀:dir/finalFilename,则 tempFileName 相对于那个子目录 dir。 | 字符串 | |
tempPrefix (producer) | 这个选项使用临时名称写入文件,然后在写入完成后将其重命名为实际名称。可以用来识别正在写入的文件,并避免在进度文件中读取消费者(不使用专用读锁定)。在上传大型文件时,FTP 通常使用。 | 字符串 | |
allowNullBody (producer (advanced)) | 用于指定在写入文件期间是否允许 null 正文。如果设置为 true,则会创建一个空文件,当设置为 false 时,并尝试向文件组件发送 null 正文,则"Cannot write null 正文的 GenericFileWriteException 为 file.' 将抛出。如果 fileExist 选项设置为"Override",则文件将被截断,如果设置为附加文件将保持不变。 | false | 布尔值 |
chmod (producer (advanced)) | 允许您在存储的文件上设置 chmod。例如 chmod=640。 | 字符串 | |
disconnectOnBatchComplete (producer (advanced)) | 完成 Batch 上传后是否与远程 FTP 服务器断开连接。disconnectOnBatchComplete 将仅断开当前与 FTP 服务器的连接。 | false | 布尔值 |
eagerDeleteTargetFile (producer (advanced)) | 是否强制删除任何现有的目标文件。这个选项仅在使用 fileExists=Override 和 tempFileName 选项时适用。您可以使用它来禁用(将其设置为 false),在写入 temp 文件前删除目标文件。例如,您可以编写大型文件,并希望在 temp 文件被写入的过程中会存在目标文件。这样可保证仅在最后一次之前删除目标文件,只需在 temp 文件被重命名为目标文件名之前。此选项也用于控制在启用 fileExist=Move 时是否删除任何现有文件,以及存在现有文件。如果此选项 copyAndDeleteOnRenameFails false,则在存在现有文件时会抛出异常(如果其为 true),则在移动操作前会删除现有文件。 | true | 布尔值 |
keepLastModified (producer (advanced)) | 将保留来自源文件的最后修改的时间戳(若有)。将使用 Exchange.FILE_LAST_MODIFIED 标头来容纳时间戳。此标头可以包含 java.util.Date 或 long with 时间戳。如果存在时间戳,并且启用了 选项,它将在写入的文件上设置此时间戳。注:此选项仅适用于文件制作者。您不能将此选项用于任何 ftp producer。 | false | 布尔值 |
moveExistingFileStrategy (producer (advanced)) | 用于在配置 fileExist=Move 时移动带有特殊命名令牌的文件的策略(Custom Strategy)。默认情况下,如果没有提供自定义策略,则有一个实施。 | FileMoveExistingStrategy | |
sendNoop (producer (advanced)) | 在将文件上传到 FTP 服务器之前,是否发送 noop 命令作为预写检查。默认情况下,这可以启用,因为连接的验证仍然有效,这样可以静默重新连接可以上传文件。但是,如果造成这个问题,您可以关闭这个选项。 | true | 布尔值 |
activePortRange (advanced) | 在活跃模式中设置客户端侧端口范围。语法为: minPort-maxPort Both 端口号包括 eg 10000-19999,用于包含所有 1xxxx 端口。 | 字符串 | |
autoCreate (advanced) | 在文件路径名中自动创建缺少的目录。对于文件使用者,这意味着创建起始目录。对于文件制作者,它表示文件应当写入的目录。 | true | 布尔值 |
bufferSize (advanced) | 缓冲区大小(以字节为单位)用于写入文件(或者是 FTP 用于下载和上传文件)。 | 131072 | int |
connectTimeout (advanced) | 设置连接超时,等待 FTPClient 和 JSCH 使用的连接超时。 | 10000 | int |
ftpClient (advanced) | 使用 FTPClient 的自定义实例。 | FTPClient | |
ftpClientConfig (advanced) | 要使用一个自定义 FTPClientConfig 实例来配置端点应使用的 FTP 客户端。 | FTPClientConfig | |
ftpClientConfigParameters (advanced) | FtpComponent 用来为 FTPClientConfig 提供附加参数。 | map | |
ftpClientParameters (advanced) | FtpComponent 用来为 FTPClient 提供附加参数。 | map | |
maximumReconnectAttempts (advanced) | 指定在尝试连接到远程 FTP 服务器时执行的最大重新连接尝试 Camel。使用 0 禁用此行为。 | int | |
reconnectDelay (advanced) | millis Camel 的延迟将在进行重新连接之前等待。 | 1000 | long |
siteCommand (advanced) | 设置在成功登录后要执行的可选站点命令。可以使用新行字符来分隔多个站点命令。 | 字符串 | |
soTimeout (advanced) | 设置 so timeout FTP 和 FTPS 是 millis 中的 SocketOptions.SO_TIMEOUT 值。推荐的选项是将其设置为 300000,因此没有挂起的连接。在 SFTP 上,此选项设置为 JSCH Session 实例上的超时。 | 300000 | int |
stepwise (advanced) | 设定在下载文件时,还是将文件上传到目录时,还是在将文件上传到目录时对文件结构进行分步更改。例如,如果由于安全原因而无法更改 FTP 服务器上的目录,您可以禁用此设置。Stepwise 不能与流下载一起使用。 | true | 布尔值 |
同步 (高级) | 设定同步处理是否应严格使用。 | false | 布尔值 |
throwExceptionOnConnectFailed (advanced) | 如果连接失败(退出)By 默认异常,不会抛出异常,并且会记录 WARN。您可以使用此功能启用抛出异常,并处理来自 org.apache.camel.spi.PollingConsumerPollStrategy rollback 方法的抛出异常。 | false | 布尔值 |
timeout (advanced) | 为只由 FTPClient 使用的回复设置数据超时。 | 30000 | int |
antExclude (filter) | Ant 风格过滤器排除.如果使用 antInclude 和 antExclude,则 antExclude 优先于 antInclude。可使用逗号分隔格式指定多个排除项。 | 字符串 | |
antFilterCaseSensitive (filter) | 在 at 过滤器上设置区分大小写的标记。 | true | 布尔值 |
antInclude (filter) | ant 风格过滤器包含:可使用逗号分隔格式指定多个包含项。 | 字符串 | |
eagerMaxMessagesPerPoll (filter) | 允许控制 maxMessagesPerPoll 的限值是否为 eager。如果 eager 则限制在扫描文件期间。其中为 false 将扫描所有文件,然后执行排序。将此选项设置为 false 可首先对所有文件进行排序,然后限制轮询。请注意,这需要较高的内存用量,因为所有文件的详情都位于内存中才能执行排序。 | true | 布尔值 |
exclude (filter) | 用于排除文件,如果文件名与 regex 模式匹配(匹配是区分大小写的)。请注意,如果您使用符号(如加号)等符号,如果将该符号配置为端点 uri,则需要使用 RAW()语法来配置此功能。有关配置 endpoint uris 的更多详情。 | 字符串 | |
excludeExt (filter) | 用于排除与文件扩展名匹配的文件(不区分大小写)。例如,要排除 bak 文件,然后使用 excludeExt=bak。可以用逗号分隔多个扩展,例如排除 bak 和 dat 文件,请使用 excludeExt=bak,dat。请注意,文件扩展包含所有部分,例如,名为 mydata.tar.gz 的文件将扩展名为 tar.gz。要获得更大的灵活性,请使用 include/exclude 选项。 | 字符串 | |
filter (filter) | 可插入过滤器作为 org.apache.camel.component.file.GenericFileFilter 类。如果过滤器在其 accept()方法中返回 false,则跳过文件。 | GenericFileFilter | |
filterDirectory (filter) | 根据简单语言过滤目录。例如,要过滤当前日期,您可以使用一个简单的日期模式,如 $\\{date:now:yyyMMdd}。 | 字符串 | |
filterFile (filter) | 根据简单语言对该文件进行过滤。例如,要过滤文件大小,您可以使用 $\\{file:size} 5000。 | 字符串 | |
idempotent (filter) | 使用 Idempotent Consumer EIP 模式的选项使 Camel 跳过已处理的文件。默认情况下,将使用包含 1000 条目的内存基于 LRUCache。如果 noop=true 然后会启用幂等性,以避免消耗相同的文件。 | false | 布尔值 |
idempotentKey (filter) | 使用自定义幂等密钥。默认情况下会使用文件的绝对路径。您可以使用文件语言,例如使用文件名和文件大小,您可以执行:幂等Key=$\\{file:name}-$\\{file:size}。 | 字符串 | |
idempotentRepository (filter) | 可插拔式存储库 org.apache.camel.spi.IdempotentRepository,如果未指定 none 且幂等为 true,则默认使用 MemoryIdempotentRepository。 | IdempotentRepository | |
include (filter) | 用于包含文件,如果文件名与 regex 模式匹配(匹配是区分大小写的)。请注意,如果您使用符号(如加号)等符号,如果将该符号配置为端点 uri,则需要使用 RAW()语法来配置此功能。有关配置 endpoint uris 的更多详情。 | 字符串 | |
includeExt (filter) | 用于包含匹配文件扩展名名称的文件(不区分大小写)。例如,要包含 txt 文件,然后使用 includeExt=txt。可以用逗号分开多个扩展,例如包含 txt 和 xml 文件,请使用 includeExt=txt,xml。请注意,文件扩展包含所有部分,例如,名为 mydata.tar.gz 的文件将扩展名为 tar.gz。要获得更大的灵活性,请使用 include/exclude 选项。 | 字符串 | |
maxDepth (filter) | 递归处理目录时要遍历的最大深度。 | 2147483647 | int |
maxMessagesPerPoll (filter) | 要定义每个轮询收集的最大消息。默认情况下不设置最大值。可用来设置限制,例如 1000,以避免在启动有数千个文件的服务器时发生。将值设为 0 或负数为 disabled。注意:如果使用这个选项,则文件和 FTP 组件将在任何排序前限制。例如,如果您有 100000 文件并使用 maxMessagesPerPoll=500,则只会获取前 500 个文件,然后排序。您可以使用 eagerMaxMessagesPerPoll 选项,将其设置为 false,以允许先扫描所有文件,然后再对其进行排序。 | int | |
minDepth (filter) | 递归处理目录时开始处理的最小深度。使用 minDepth=1 表示基础目录。使用 minDepth=2 表示第一个子目录。 | int | |
移动 (filter) | 用于在处理后动态设置文件名的表达式(如简单语言)。要将文件移动到一个 .done 子目录中,输入 .done。 | 字符串 | |
exclusiveReadLockStrategy (lock) | 可插入 read-lock 作为 org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 实施。 | GenericFileExclusiveReadLockStrategy | |
readLock (lock) | 由消费者使用,以仅在文件上具有独占的 read-lock(例如,该文件不用 in-progres 或正在写入)时轮询文件。Camel 将等待文件锁定。这个选项提供策略中的构建: - 无 - No read lock in use - markerFile - Camel 创建一个标志文件(fileName.camelelLock),然后在其上保存锁定。该选项不适用于 FTP 组件 - 更改 - 更改使用文件长度/修改时间戳来检测文件当前是否被复制。至少要使用 1 sec 来确定这一点,因此此选项无法像其他一样快使用文件,但可以更可靠,因为 JDK IO API 无法始终确定某个文件目前正被另一个进程使用。选项 readLockCheckInterval 可用于设置检查频率。- fileLock - 使用 java.nio.channels.FileLock。这个选项不是 Windows 操作系统和 FTP 组件的查找。通过 mount/share 访问远程文件系统时,应避免这个方法,除非该文件系统支持分布式文件锁定。- 重命名是,使用尝试重命名文件作为测试,如果我们可以获得独占的读锁定。- 表示 - 幂等的(仅文件组件)幂等的是将幂等的Repository 用作读锁定。如果幂等存储库实施支持,这将允许使用支持集群的读取锁定。-- idempotent-changed -(仅限文件组件)幂等更改是使用幂等的Repository,并将更改为组合的 read-lock。如果幂等存储库实施支持,这将允许使用支持集群的读取锁定。-- idempotent-rename - (仅限文件组件)的 idempotent-rename 使用 idempotentRepository,并将 重命名为组合的 read-lock。如果幂等存储库实施支持,这将允许使用读取锁定。注意:各种读锁定都不适合在集群模式下工作,其中不同节点上的并发消费者与共享文件系统中的相同文件竞争。使用完 atomic 操作使用的 markerFile 创建空的标志文件,但它不能保证在集群中工作。fileLock 可能更好地工作,但文件系统需要支持分布式文件锁定等。如果幂等存储库支持集群,如 Hazelcast 组件或 Infinispan,则可使用幂等的读取锁定支持集群。 枚举值:
| none | 字符串 |
readLockCheckInterval (lock) | 如果读取锁定支持,以 millis 为 read-lock 的时间间隔。这个间隔用于尝试获取读取锁定之间的睡眠。例如,在使用更改的读取锁定时,您可以将较高的间隔周期设置为 cater,以便进行慢速写入。默认的 1 sec。如果编写者非常慢,则可能太快。注意:对于 FTP,默认的 readLockCheckInterval 为 5000。readLockTimeout 值必须高于 readLockCheckInterval,但具有至少 2 个或大于 readLockCheckInterval 的超时。这需要确保读锁定过程有足够的时间在达到超时前尝试获取锁定。 | 1000 | long |
readLockDeleteOrphanLockFiles (lock) | 如果 Camel 没有正确关闭(如 JVM 崩溃),则在启动时是否应该删除任何孤立的读取锁定文件(如 JVM 崩溃)。如果将此选项变为 false,则任何孤立的锁定文件都将导致 Camel 不会尝试获取该文件,这也可能是因为另一个节点同时读取同一共享目录中的文件。 | true | 布尔值 |
readLockLoggingLevel (lock) | 无法获取读取锁定时使用的日志记录级别。默认情况下会记录 DEBUG。您可以将这一级别更改为 OFF,使其没有任何日志记录。此选项仅适用于 readLock 类型: changed、fileLock、idempotent、idempotent-changed、idempotent-rename、rename。 枚举值:
| DEBUG | LoggingLevel |
readLockMarkerFile (lock) | 是否要将标志文件与 changed、rename 或 exclusive read lock 类型一起使用。默认情况下,使用标志文件来保护对获取相同文件的进程的保护。把这个选项设置为 false 来关闭此行为。例如,如果您不想通过 Camel 应用程序向文件系统写入标志文件。 | true | 布尔值 |
readLockMinAge (lock) | 这个选项只适用于 readLock=changed。它允许在尝试获取读取锁定前指定该文件的最短期限。例如,使用 readLockMinAge=300s 来要求该文件持续 5 分钟。这样可加快更改的读取锁定,因为它将只尝试获取至少给定年龄的文件。 | 0 | long |
readLockMinLength (lock) | 这个选项只适用于 readLock=changed。它允许您配置最小文件长度。默认情况下,Camel 预期该文件含有数据,因此默认值为 1。您可以将这个选项设置为零,以允许消耗零长度的文件。 | 1 | long |
readLockRemoveOnCommit (lock) | 这个选项只适用于 readLock=idempotent。它允许指定在处理文件成功并且发生提交时是否从 idempotent 存储库中删除文件名条目。默认情况下不会删除该文件,以确保不会发生任何竞争条件,因此另一个活跃的节点可能会试图获取该文件。相反,幂等性存储库可能会支持驱除策略,供您配置为在 X 分钟后驱除文件名条目 - 这确保没有出现争用情形的问题。请参阅 readLockIdempotentReleaseDelay 选项的更多详情。 | false | 布尔值 |
readLockRemoveOnRollback (lock) | 这个选项只适用于 readLock=idempotent。它指定在处理文件失败时是否将文件名条目从 idempotent 存储库中删除,并进行回滚。如果此选项为 false,则确认文件名条目(就如文件已提交)。 | true | 布尔值 |
readLockTimeout (lock) | 如果 read-lock 支持,在 millis 中可选的超时时间(如果由 read-lock 支持)。如果无法授予 read-lock 并触发超时,则 Camel 将跳过该文件。下一个轮询 Camel 时,将再次尝试文件,这一次可能被授予 read-lock。使用 0 值或低于 以表示永久值。目前,fileLock,更改和重命名支持超时。注意:对于 FTP,默认的 readLockTimeout 值为 20000,而不是 10000。readLockTimeout 值必须高于 readLockCheckInterval,但具有至少 2 个或大于 readLockCheckInterval 的超时。这需要确保读锁定过程有足够的时间在达到超时前尝试获取锁定。 | 10000 | long |
backoffErrorThreshold (scheduler) | 后续错误轮询次数(因为一些错误),在 backoffMultipler 应启动前应该发生。 | int | |
backoffIdleThreshold (scheduler) | 在 backoffMultipler 应启动前应进行的后续空闲轮询数量。 | int | |
backoffMultiplier (scheduler) | 如果一行中有多个后续的空闲/错误,则计划轮询消费者 backoff。倍数是,在下一次实际尝试再次发生前跳过的轮询数。当使用这个选项时,还必须配置 backoffIdleThreshold 和/或 backoffErrorThreshold。 | int | |
delay (scheduler) | 下一个轮询前毫秒。 | 500 | long |
greedy (scheduler) | 如果启用了 greedy,则 ScheduledPollConsumer 将立即再次运行,如果上一运行轮询了 1 或更多消息。 | false | 布尔值 |
initialDelay (scheduler) | 在第一次轮询开始前毫秒。 | 1000 | long |
repeatCount (scheduler) | 指定最大触发数量的限制。因此,如果您将其设置为 1,调度程序将仅触发一次。如果将其设置为 5,它将仅触发五次。值为零或负表示永久触发。 | 0 | long |
runLoggingLevel (scheduler) | 使用者在轮询时记录 start/complete 日志行。此选项允许您为其配置日志级别。 枚举值:
| TRACE | LoggingLevel |
scheduledExecutorService (scheduler) | 允许配置要用于使用者的自定义/共享线程池。默认情况下,每个消费者都有自己的单一线程线程池。 | ScheduledExecutorService | |
调度程序 (scheduler) | 使用来自 camel-spring 或 camel-quartz 组件中的 cron 调度程序。使用值 spring 或 quartz 在调度程序中构建。 | none | 对象 |
schedulerProperties (scheduler) | 要在使用自定义调度程序或任何基于 Spring 的调度程序时配置额外的属性。 | map | |
startScheduler (scheduler) | 调度程序是否应自动启动。 | true | 布尔值 |
timeUnit (scheduler) | 初始延迟和延迟选项的时间单位。 枚举值:
| MILLISECONDS | TimeUnit |
useFixedDelay (scheduler) | 控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。 | true | 布尔值 |
帐户 (安全性) | 用于登录的帐户。 | 字符串 | |
密码 (安全性) | 用于登录的密码。 | 字符串 | |
username (security) | 用于登录的用户名。 | 字符串 | |
shuffle (sort) | 影响文件列表(按随机顺序排列)。 | false | 布尔值 |
sortBy (sort) | 使用文件语言进行内置排序。支持嵌套排序,因此根据文件名和2组排序具有按修改日期排序的排序。 | 字符串 | |
排序 器(排序) | 可插拔排序器作为 java.util.Comparator 类。 | 比较器 |