23.4.2. 查询参数(94 参数)
名称 | Description | 默认 | 类型 |
---|---|---|---|
charset (common) | 此选项用于指定文件的编码。您可以在使用者上使用此来指定文件的编码,允许 Camel 知道 charset,以便在访问文件内容时加载文件内容。同样在编写文件时,也可以使用这个选项来指定 charset 以写入该文件。请记住,在编写文件 Camel 时,可能需要读取消息内容到内存中,以便能够将数据转换为配置的 charset,因此如果您有较大消息,则不会使用此消息。 | 字符串 | |
doneFileName (common) | 制作者:如果提供,Camel 将在写入原始文件时写入 2 个操作文件。完成的文件将为空。此选项配置要使用的文件名。您可以指定一个固定名称。或者您可以使用动态占位符。生成的文件将始终写在与原始文件相同的文件夹中。消费者:如果提供,Camel 才会消耗文件(如果存在)文件。此选项配置要使用的文件名。您可以指定一个固定名称。或者您可以使用动态占位符。完成的文件始终与原始文件在同一文件夹中。只支持 $\\{file.name} 和 $\\{file.name.next} 作为动态占位符。 | 字符串 | |
fileName (common) | 使用文件语言等表达式动态设置文件名。对于消费者,它被用作文件名过滤器。对于制作者而言,用于评估要写入的文件名。如果设置了表达式,它将优先于 CamelFileName 标头。(注:标题本身也可以是 Expression)。表达式选项支持 String 和 Expression 类型。如果表达式是 String 类型,则始终会使用文件语言来评估。如果表达式是 Expression 类型,则使用指定的 Expression 类型 - 这允许您使用 OGNL 表达式。对于消费者,您可以使用它来过滤文件名,因此,您可以使用文件语言语法(mydata-$\\{date:now:yyyyyyyyyyyyyyyyyyyyyyyyYMMdd}.txt)来消耗当前的文件。生产者支持 CamelOverruleFileName 标头,其优先级高于任何现有的 CamelFileName 标头;CamelOverruleFileName 只是一个标头,而且可以更轻松地进行临时存储 CamelFileName,且必须稍后恢复。 | 字符串 | |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 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-progres 文件移动到 order 目录中,把这个值设置为 order。 | 字符串 | |
preSort (consumer) | 启用预先排序后,消费者将在轮询过程中对文件和目录名称进行排序,该名称是从文件系统检索的。如果需要以有序的顺序处理文件,您可能希望执行此操作。预先排序是在消费者开始过滤之前执行,并接受 Camel 进行处理的文件。这个选项为 default=false 表示禁用。 | false | 布尔值 |
recursive (consumer) | 如果某个目录也会在所有子目录中查找文件。 | false | 布尔值 |
sendEmptyMessageWhenIdle (consumer) | 如果轮询使用者没有轮询任何文件,您可以启用这个选项来发送空消息(无正文)。 | false | 布尔值 |
directoryMustExist (consumer (advanced)) | 与 startDirectoryMustExist 选项类似,但这会在轮询过程中应用(在启动消费者后)。 | false | 布尔值 |
exceptionHandler (consumer (advanced)) | 要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。 | ExceptionHandler | |
exchangePattern (consumer (advanced)) | 在使用者创建交换时设置交换模式。 枚举值:
| ExchangePattern | |
extendedAttributes (consumer (advanced)) | 定义感兴趣的文件属性。与 posix:permissions,posix:posix:owner,basic:lastAccessTime 一样,它支持基本通配符,如 posix: basic:lastAccessTime。 | 字符串 | |
inProgressRepository (consumer (advanced)) | 可插拔插入存储库 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 允许您提供自定义实施来控制在轮询操作中通常会发生错误处理,然后再在 Camel 中创建并被路由。 | PollingConsumerPollStrategy | |
probeContentType (consumer (advanced)) | 是否启用内容类型的探测。如果启用,则使用者使用 Files#probeContentType (java.nio.file.Path)来确定该文件的内容类型,并将它存储为在 Message 上带有键 Exchange#FILE_CONTENT_TYPE 的标头。 | false | 布尔值 |
processStrategy (consumer (advanced)) | 可插拔 org.apache.camel.component.file.GenericFileProcessStrategy 允许您实施自己的 readLock 选项或类似内容。在文件被消耗(如有特殊就绪文件)之前,还可使用特殊条件。如果设置了这个选项,则不会应用 readLock 选项。 | GenericFileProcessStrategy | |
resumeStrategy (consumer (advanced)) | 为文件设置恢复策略。这样,可以在停止应用程序前,定义一个在最后一次点后恢复读取文件的策略。详情请参阅 FileConsumerResumeStrategy。 | FileConsumerResumeStrategy | |
startingDirectoryMustExist (consumer (advanced)) | 启动目录是否必须存在。请注意,autoCreate 选项是默认的启用状态,这意味着如果起始目录不存在,通常会自动创建起始目录。您可以禁用 autoCreate 并启用它,以确保起始目录必须存在。如果目录不存在,将抛出异常。 | false | 布尔值 |
startingDirectoryMustHaveAccess (consumer (advanced)) | 启动目录是否具有访问权限。请记住,startDirectoryMustExist 参数必须设置为 true 以验证目录是否存在。如果目录没有读取和写入权限,将抛出异常。 | false | 布尔值 |
appendChars (producer) | 用于在写入文件后附加字符(文本)。这个示例在编写和附加新文件或现有文件时,可用于添加新行或其他分隔符。要指定换行符(slash-n 或斜杠-r)或制表符(slash-t)字符,再使用额外的斜杠 eg斜杠-slash-n 进行转义。 | 字符串 | |
fileExist (producer) | 如果文件已存在相同名称的文件,应该怎么办?override(默认)替换现有文件。- Append - 向现有文件添加内容。- Fail - 抛出 GenericFileOperationException,表明已存在已存在文件。- Ignore - 静默忽略了问题,且不会覆盖现有文件,但假定所有是 okay. - Move - Move - 选项需要使用移动选项。选项 eagerDeleteTargetFile 可用于控制移动文件要做什么,并且已存在一个现有文件,否则会导致移动操作失败。Move 选项会在写入目标文件前移动任何现有文件。- TryRename 仅适用于 tempFileName 选项。这样,可以在不做任何检查的情况下,尝试将文件从临时名称重命名为实际名称。在某些文件系统中,这个检查可能会更快,特别是 FTP 服务器。 枚举值:
| 覆盖 | GenericFileExist |
flatten (producer) | flatten 用于扁平化文件名路径,以剥离任何前导路径,因此这仅仅是文件名。这样,您可以以递归方式使用子目录,但当您将这些文件写入单个目录中时。在制作者上,在制作者上将强制将设置 CamelFileName 标头中的任何文件名用于任何领先的路径。 | false | 布尔值 |
jailStartingDirectory (producer) | 用于判断(限制)将文件写入起始目录(和子目录)。默认情况下,启用此项以允许 Camel 将文件写入外部目录(从该框更受保护)。您可以关闭此目的,允许将文件写入起始目录之外的目录,如父级或根文件夹。 | 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。注意 file:parent 不受 FTP 组件支持,因为 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将 null body 写入空正文到 file.' 的 GenericFileWriteException 的 GenericFileWriteException 来抛出。'如果将 fileExist 选项设置为 'Override',则文件将被截断,如果设置为 append,则文件将保持不变。 | false | 布尔值 |
chmod (producer (advanced)) | 指定由制作者发送的文件权限,chmod 值必须在 000 到 777 之间;如果是前导数字,我们将忽略它。 | 字符串 | |
chmodDirectory (producer (advanced)) | 指定制作者创建缺少目录时使用的目录权限,chmod 值必须在 000 到 777 之间;如果是前导数字(如 0755),我们会忽略该目录。 | 字符串 | |
eagerDeleteTargetFile (producer (advanced)) | 是否完全删除任何现有的目标文件。这个选项只适用于使用 fileExists=Override 和 tempFileName 选项。您可以使用它来禁用(将其设置为 false)在写入 temp 文件前删除目标文件。例如,您可以写入大文件,并且希望目标文件在正在写入时存在。这样可保证目标文件仅在最后一开始删除,而在 temp 文件被重命名为目标文件名之前。这个选项还用来控制是否在启用 fileExist=Move 时删除任何现有文件,并且存在现有文件。如果此选项 copyAndDeleteOnRenameFails false,则在存在现有文件(如果其 true)存在时,则会抛出异常(如果存在),那么在移动操作前会删除现有文件。 | true | 布尔值 |
forceWrites (producer (advanced)) | 是否强制对文件系统的同步写入。如果您不希望此等级保证,例如写入日志/审计日志等,您可以关闭此级别;这将会获得更好的性能。 | true | 布尔值 |
keepLastModified (producer (advanced)) | 将保留来自源文件(若有)的最后修改的时间戳。将使用 Exchange.FILE_LAST_MODIFIED 标头来定位时间戳。此标头可以包含 java.util.Date 或 long with timestamp。如果存在时间戳,并且启用 选项,它将对写入的文件设置此时间戳。注:此选项仅适用于文件制作者。您不能对任何 ftp 制作者使用这个选项。 | false | 布尔值 |
moveExistingFileStrategy (producer (advanced)) | 用于在配置 fileExist=Move 时移动带有特殊命名令牌的文件的策略(Custom 策略)。默认情况下,如果没有提供自定义策略,则有一个实施。 | FileMoveExistingStrategy | |
autoCreate (advanced) | 在文件路径名称中自动创建缺失的目录。对于文件使用者,这意味着创建起始目录。对于文件制作者,这意味着文件应写入到其中的目录。 | true | 布尔值 |
bufferSize (advanced) | 缓冲区大小(以字节为单位)用于写入文件(或者是 FTP 用于下载和上传文件)。 | 131072 | int |
copyAndDeleteOnRenameFail (advanced) | 如果文件无法直接重命名,则是否要回退和删除文件。这个选项不适用于 FTP 组件。 | true | 布尔值 |
renameUsingCopy (advanced) | 使用 copy 和 delete 策略执行重命名操作。这主要用于常规重命名操作不可靠(例如跨不同文件系统或网络)的环境。这个选项优先于 copyAndDeleteOnRenameFail 参数,该参数将自动回退到 copy 和 delete 策略,但仅在延迟后才会回退。 | false | 布尔值 |
同步 (高级) | 设置同步处理是否应当严格使用。 | false | 布尔值 |
antExclude (filter) | Ant 样式过滤器排除.如果使用 antInclude 和 antExclude,则 antExclude 优先于 antInclude。可以用逗号分隔的格式指定多个排除项。 | 字符串 | |
antFilterCaseSensitive (filter) | 在 at 过滤器上设置区分大小写的标记。 | true | 布尔值 |
antInclude (filter) | Ant 风格过滤器包含.可以用逗号分隔的格式指定多个包含。 | 字符串 | |
eagerMaxMessagesPerPoll (filter) | 允许控制 maxMessagesPerPoll 的限制是预先控制。如果预先考虑,则限制会在扫描文件期间进行。如果为 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) | 定义要为每个轮询收集的最大消息。默认情况下没有设置最大值。可用于设置 e.g. 1000 的限制,以避免在启动存在数千台服务器时。将值设为 0 或负数设为 disabled。注意:如果使用这个选项正在使用,则文件和 FTP 组件将在任何排序前限制。例如,如果您有 100000 文件并使用 maxMessagesPerPoll=500,则只会提取前 500 个文件,然后排序。您可以使用 eagerMaxMessagesPerPoll 选项,将其设置为 false,以允许首先扫描所有文件,然后再排序。 | int | |
minDepth (filter) | 递归处理目录时开始处理的最小深度信息。使用 minDepth=1 意味着基础目录。使用 minDepth=2 表示第一个子目录。 | int | |
Move (filter) | 表达式(如简单语言),用于在处理后动态设置文件名。要将文件移动到 .done 子目录中,只需输入 .done。 | 字符串 | |
exclusiveReadLockStrategy (lock) | 可插拔 read-lock 作为 org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 实施。 | GenericFileExclusiveReadLockStrategy | |
readLock (lock) | 供使用者使用,仅当文件具有独占的 read-lock 时(例如,该文件没有处于-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 操作来创建空的标志文件,但它无法保证在集群中工作。fileLock 可以更好地工作,但文件系统需要支持分布式文件锁定,以此类推。如果幂等存储库支持集群(如 Hazelcast 组件或 Infinispan),则使用幂等的读取锁定可以支持集群。 枚举值:
| none | 字符串 |
readLockCheckInterval (lock) | read-lock 的间隔(如果被读取锁定支持)。这个间隔用于在尝试获取读取锁定间进行睡眠状态。例如,在使用 changed 的 read lock 时,您可以将更高的间隔周期设置为 cater 以慢速写入。如果制作者非常慢,写入文件,则默认为 1 sec.。注意:对于 FTP 默认 readLockCheckInterval 为 5000。readLockTimeout 值必须大于 readLockCheckInterval,但经验规则至少为 2 个或更多或更多为 readLockCheckInterval。这需要确保读取锁定进程允许修改时间尝试在超时达到前获取锁。 | 1000 | long |
readLockDeleteOrphanLockFiles (lock) | 如果 Camel 未正确关闭,则启动时是否应该在启动时使用标志文件读取锁定文件来读取锁定文件(如 JVM 崩溃)。如果将此选项转换为 false,则任何孤立的锁定文件将导致 Camel 无法启动该文件,这可能是因为另一个节点同时从同一共享目录中读取文件。 | true | 布尔值 |
readLockIdempotentReleaseAsync (lock) | 延迟发行版本任务应该是同步还是异步。请参阅 readLockIdempotentReleaseDelay 选项的详情。 | false | 布尔值 |
readLockIdempotentReleaseAsyncPoolSize (lock) | 使用异步发行任务时调度线程池中的线程数量。使用默认 1 个核心线程几乎应该已经足够了,只有更新幂等存储库或需要处理大量文件时,它才会将其设置为更高的值。如果您通过配置 readLockIdempotentReleaseExecutorService 选项,则使用这个选项。请参阅 readLockIdempotentReleaseDelay 选项的详情。 | int | |
readLockIdempotentReleaseDelay (lock) | 是否延迟发布任务在millis 的期间。在带有共享幂等库的主动/主动集群场景中使用共享幂等存储库来确保其他节点无法扫描和获取同一文件,这可用于延迟发行任务以扩展窗口。通过扩展发行任务的 time-window 有助于防止这些情况。只有在将 readLockRemoveOnCommit 配置为 true 时,才需要注意延迟。 | int | |
readLockIdempotentReleaseExecutorService (lock) | 要将自定义和共享线程池用于异步发行任务。请参阅 readLockIdempotentReleaseDelay 选项的详情。 | ScheduledExecutorService | |
readLockLoggingLevel (lock) | 无法获取读取锁定时使用的日志记录级别。默认情况下会记录 DEBUG。您可以更改此级别,例如,变为 OFF 以没有任何日志。这个选项仅适用于 readLock 类型的 readLock: changed、fileLock、幂等、幂等更改、幂等名称、重命名。 枚举值:
| DEBUG | LoggingLevel |
readLockMarkerFile (lock) | 是否使用带 changed、重命名或专用读锁定类型的标记文件。默认情况下,也可使用标志文件来保护其他进程的获取相同的文件。可以通过将此选项设置为 false 来关闭此行为。例如,如果您不想将标记文件写入 Camel 应用程序的文件系统。 | true | 布尔值 |
readLockMinAge (lock) | 此选项仅适用于 readLock=changed。它允许在尝试获取读取锁定前指定文件的最短期限。例如,使用 readLockMinAge=300s 来要求文件最多 5 分钟。这可能会加快更改的读取锁定,因为它只会试图获取至少是给定期限的文件。 | 0 | long |
readLockMinLength (lock) | 此选项仅适用于 readLock=changed。它允许您配置最小长度。默认情况下,Camel 预期文件包含数据,因此默认值为 1。您可以将这个选项设置为零,以允许消耗零长度的文件。 | 1 | long |
readLockRemoveOnCommit (lock) | 此选项仅适用于 readLock=idempotent。它允许您指定在处理文件成功并且提交发生时是否从幂等存储库中删除文件名条目。默认情况下,该文件不会被删除,以确保不会发生任何竞争条件,因此另一个活跃节点可能会尝试获取该文件。相反,幂等存储库可能会支持驱除策略,您可以配置在 X 分钟后驱除文件名条目 - 这可确保出现竞争条件的问题。请参阅 readLockIdempotentReleaseDelay 选项的详情。 | false | 布尔值 |
readLockRemoveOnRollback (lock) | 此选项仅适用于 readLock=idempotent。它允许您指定在处理文件失败时是否从幂等存储库中删除文件名条目,并进行回滚。如果此选项为 false,则文件名条目已确认(如同文件提交一样)。 | true | 布尔值 |
readLockTimeout (lock) | 如果 read-lock 支持,则 millis 中的可选超时。如果无法授予 read-lock 且触发超时,则 Camel 将跳过该文件。下次轮询 Camel 时,将重试文件,此时可能会授予 read-lock。使用 0 或 lower 值来永久指示。目前,fileLock,更改并重命名支持超时。注意:对于 FTP,默认的 readLockTimeout 值为 20000,而不是 10000。readLockTimeout 值必须大于 readLockCheckInterval,但经验规则至少为 2 个或更多或更多为 readLockCheckInterval。这需要确保读取锁定进程允许修改时间尝试在超时达到前获取锁。 | 10000 | long |
backoffErrorThreshold (scheduler) | 后续错误轮询(因某些错误导致的失败)的数量,在 backoffMultipler 应该启动前发生。 | int | |
backoffIdleThreshold (scheduler) | 后续闲置轮询的数量,在 backoffMultipler 应该启动之前发生。 | int | |
backoffMultiplier (scheduler) | 如果行中有多个后续闲置/errors,让调度的轮询消费者重新关闭。然后,倍数是下一次实际尝试发生前跳过的轮询数量。当使用这个选项时,还必须配置 backoffIdleThreshold 和/or backoffErrorThreshold。 | int | |
延迟 (scheduler) | 下次轮询前的毫秒。 | 500 | long |
greedy (scheduler) | 如果启用了 greedy,则 ScheduledPollConsumer 将立即再次运行,如果上一运行轮询了 1 或更多消息。 | false | 布尔值 |
initialDelay (scheduler) | 第一次轮询启动前的毫秒。 | 1000 | long |
repeatCount (scheduler) | 指定触发的最大数量上限。因此,如果您将其设置为 1,调度程序将仅触发一次。如果将其设置为 5,它将仅触发 5 次。值零或负数表示会永久触发。 | 0 | long |
runLoggingLevel (scheduler) | 消费者日志轮询轮询时启动/完成日志行。此选项允许您为其配置日志级别。 枚举值:
| TRACE | LoggingLevel |
scheduledExecutorService (scheduler) | 允许配置用于使用者的自定义/共享线程池。默认情况下,每个使用者都有自己的单个线程池。 | ScheduledExecutorService | |
调度程序 (scheduler) | 使用来自 camel-spring 或 camel-quartz 组件的 cron 调度程序。将值 spring 或 quartz 用于在调度程序中构建。 | none | 对象 |
schedulerProperties (scheduler) | 在使用自定义调度程序或任何基于 Quartz 的调度程序时,配置附加属性。 | map | |
startScheduler (scheduler) | 调度程序是否应自动启动。 | true | 布尔值 |
timeUnit (scheduler) | 初始延迟和延迟选项的时间单位。 枚举值:
| 毫秒 | TimeUnit |
useFixedDelay (scheduler) | 控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。 | true | 布尔值 |
shuffle (sort) | 影响文件列表(按随机顺序排列)。 | false | 布尔值 |
sortBy (sort) | 内置使用文件语言排序.支持嵌套的排序,因此您可以按文件名排序,并根据修改日期进行排序。 | 字符串 | |
排序 器(排序) | 可插拔排序器作为 java.util.Comparator 类。 | 比较器 |
文件制作者
默认情况下,如果具有相同名称,它将覆盖任何现有的文件。