{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.file.CamelFileSourceConnector",
		"artifactId": "camel-file-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-file-source",
		"type": "source",
		"version": "3.19.0-SNAPSHOT",
		"description": "Read and write files."
	},
	"properties": {
		"camel.source.path.directoryName": {
			"name": "camel.source.path.directoryName",
			"description": "The starting directory",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.source.endpoint.charset": {
			"name": "camel.source.endpoint.charset",
			"description": "This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the data into the configured charset, so do not use this if you have big messages.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.doneFileName": {
			"name": "camel.source.endpoint.doneFileName",
			"description": "Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders.The done file is always expected in the same folder as the original file. Only ${file.name} and ${file.name.next} is supported as dynamic placeholders.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.fileName": {
			"name": "camel.source.endpoint.fileName",
			"description": "Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the expression is an Expression type, the specified Expression type is used - this allows you, for instance, to use OGNL expressions. For the consumer, you can use it to filter filenames, so you can for instance consume today's file using the File Language syntax: mydata-${date:now:yyyyMMdd}.txt. The producers support the CamelOverruleFileName header which takes precedence over any existing CamelFileName header; the CamelOverruleFileName is a header that is used only once, and makes it easier as this avoids to temporary store CamelFileName and have to restore it afterwards.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.delete": {
			"name": "camel.source.endpoint.delete",
			"description": "If true, the file will be deleted after it is processed successfully.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.moveFailed": {
			"name": "camel.source.endpoint.moveFailed",
			"description": "Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.noop": {
			"name": "camel.source.endpoint.noop",
			"description": "If true, the file is not moved or deleted in any way. This option is good for readonly data, or for ETL type requirements. If noop=true, Camel will set idempotent=true as well, to avoid consuming the same files over and over again.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.preMove": {
			"name": "camel.source.endpoint.preMove",
			"description": "Expression (such as File Language) used to dynamically set the filename when moving it before processing. For example to move in-progress files into the order directory set this value to order.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.preSort": {
			"name": "camel.source.endpoint.preSort",
			"description": "When pre-sort is enabled then the consumer will sort the file and directory names during polling, that was retrieved from the file system. You may want to do this in case you need to operate on the files in a sorted order. The pre-sort is executed before the consumer starts to filter, and accept files to process by Camel. This option is default=false meaning disabled.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.recursive": {
			"name": "camel.source.endpoint.recursive",
			"description": "If a directory, will look for files in all the sub-directories as well.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.sendEmptyMessageWhenIdle": {
			"name": "camel.source.endpoint.sendEmptyMessageWhenIdle",
			"description": "If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.bridgeErrorHandler": {
			"name": "camel.source.endpoint.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.directoryMustExist": {
			"name": "camel.source.endpoint.directoryMustExist",
			"description": "Similar to the startingDirectoryMustExist option but this applies during polling (after starting the consumer).",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exceptionHandler": {
			"name": "camel.source.endpoint.exceptionHandler",
			"description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exchangePattern": {
			"name": "camel.source.endpoint.exchangePattern",
			"description": "Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"InOnly",
				"InOut",
				"InOptionalOut"
			]
		},
		"camel.source.endpoint.extendedAttributes": {
			"name": "camel.source.endpoint.extendedAttributes",
			"description": "To define which file attributes of interest. Like posix:permissions,posix:owner,basic:lastAccessTime, it supports basic wildcard like posix:, basic:lastAccessTime",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.inProgressRepository": {
			"name": "camel.source.endpoint.inProgressRepository",
			"description": "A pluggable in-progress repository org.apache.camel.spi.IdempotentRepository. The in-progress repository is used to account the current in progress files being consumed. By default a memory based repository is used.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.localWorkDirectory": {
			"name": "camel.source.endpoint.localWorkDirectory",
			"description": "When consuming, a local work directory can be used to store the remote file content directly in local files, to avoid loading the content into memory. This is beneficial, if you consume a very big remote file and thus can conserve memory.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.onCompletionExceptionHandler": {
			"name": "camel.source.endpoint.onCompletionExceptionHandler",
			"description": "To use a custom org.apache.camel.spi.ExceptionHandler to handle any thrown exceptions that happens during the file on completion process where the consumer does either a commit or rollback. The default implementation will log any exception at WARN level and ignore.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.pollStrategy": {
			"name": "camel.source.endpoint.pollStrategy",
			"description": "A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.probeContentType": {
			"name": "camel.source.endpoint.probeContentType",
			"description": "Whether to enable probing of the content type. If enable then the consumer uses Files#probeContentType(java.nio.file.Path) to determine the content-type of the file, and store that as a header with key Exchange#FILE_CONTENT_TYPE on the Message.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.processStrategy": {
			"name": "camel.source.endpoint.processStrategy",
			"description": "A pluggable org.apache.camel.component.file.GenericFileProcessStrategy allowing you to implement your own readLock option or similar. Can also be used when special conditions must be met before a file can be consumed, such as a special ready file exists. If this option is set then the readLock option does not apply.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.startingDirectoryMustExist": {
			"name": "camel.source.endpoint.startingDirectoryMustExist",
			"description": "Whether the starting directory must exist. Mind that the autoCreate option is default enabled, which means the starting directory is normally auto created if it doesn't exist. You can disable autoCreate and enable this to ensure the starting directory must exist. Will thrown an exception if the directory doesn't exist.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.startingDirectoryMustHaveAccess": {
			"name": "camel.source.endpoint.startingDirectoryMustHaveAccess",
			"description": "Whether the starting directory has access permissions. Mind that the startingDirectoryMustExist parameter must be set to true in order to verify that the directory exists. Will thrown an exception if the directory doesn't have read and write permissions.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.autoCreate": {
			"name": "camel.source.endpoint.autoCreate",
			"description": "Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.bufferSize": {
			"name": "camel.source.endpoint.bufferSize",
			"description": "Buffer size in bytes used for writing files (or in case of FTP for downloading and uploading files).",
			"defaultValue": "131072",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.copyAndDeleteOnRenameFail": {
			"name": "camel.source.endpoint.copyAndDeleteOnRenameFail",
			"description": "Whether to fallback and do a copy and delete file, in case the file could not be renamed directly. This option is not available for the FTP component.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.renameUsingCopy": {
			"name": "camel.source.endpoint.renameUsingCopy",
			"description": "Perform rename operations using a copy and delete strategy. This is primarily used in environments where the regular rename operation is unreliable (e.g. across different file systems or networks). This option takes precedence over the copyAndDeleteOnRenameFail parameter that will automatically fall back to the copy and delete strategy, but only after additional delays.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.synchronous": {
			"name": "camel.source.endpoint.synchronous",
			"description": "Sets whether synchronous processing should be strictly used",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.antExclude": {
			"name": "camel.source.endpoint.antExclude",
			"description": "Ant style filter exclusion. If both antInclude and antExclude are used, antExclude takes precedence over antInclude. Multiple exclusions may be specified in comma-delimited format.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.antFilterCaseSensitive": {
			"name": "camel.source.endpoint.antFilterCaseSensitive",
			"description": "Sets case sensitive flag on ant filter.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.antInclude": {
			"name": "camel.source.endpoint.antInclude",
			"description": "Ant style filter inclusion. Multiple inclusions may be specified in comma-delimited format.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.eagerMaxMessagesPerPoll": {
			"name": "camel.source.endpoint.eagerMaxMessagesPerPoll",
			"description": "Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exclude": {
			"name": "camel.source.endpoint.exclude",
			"description": "Is used to exclude files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.excludeExt": {
			"name": "camel.source.endpoint.excludeExt",
			"description": "Is used to exclude files matching file extension name (case insensitive). For example to exclude bak files, then use excludeExt=bak. Multiple extensions can be separated by comma, for example to exclude bak and dat files, use excludeExt=bak,dat. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include\/exclude options.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.filter": {
			"name": "camel.source.endpoint.filter",
			"description": "Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.filterDirectory": {
			"name": "camel.source.endpoint.filterDirectory",
			"description": "Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as ${date:now:yyyMMdd}",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.filterFile": {
			"name": "camel.source.endpoint.filterFile",
			"description": "Filters the file based on Simple language. For example to filter on file size, you can use ${file:size} 5000",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.idempotent": {
			"name": "camel.source.endpoint.idempotent",
			"description": "Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again.",
			"defaultValue": "\"false\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.idempotentKey": {
			"name": "camel.source.endpoint.idempotentKey",
			"description": "To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=${file:name}-${file:size}",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.idempotentRepository": {
			"name": "camel.source.endpoint.idempotentRepository",
			"description": "A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryIdempotentRepository if none is specified and idempotent is true.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.include": {
			"name": "camel.source.endpoint.include",
			"description": "Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.includeExt": {
			"name": "camel.source.endpoint.includeExt",
			"description": "Is used to include files matching file extension name (case insensitive). For example to include txt files, then use includeExt=txt. Multiple extensions can be separated by comma, for example to include txt and xml files, use includeExt=txt,xml. Note that the file extension includes all parts, for example having a file named mydata.tar.gz will have extension as tar.gz. For more flexibility then use the include\/exclude options.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.maxDepth": {
			"name": "camel.source.endpoint.maxDepth",
			"description": "The maximum depth to traverse when recursively processing a directory.",
			"defaultValue": "2147483647",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.maxMessagesPerPoll": {
			"name": "camel.source.endpoint.maxMessagesPerPoll",
			"description": "To define a maximum messages to gather per poll. By default no maximum is set. Can be used to set a limit of e.g. 1000 to avoid when starting up the server that there are thousands of files. Set a value of 0 or negative to disabled it. Notice: If this option is in use then the File and FTP components will limit before any sorting. For example if you have 100000 files and use maxMessagesPerPoll=500, then only the first 500 files will be picked up, and then sorted. You can use the eagerMaxMessagesPerPoll option and set this to false to allow to scan all files first and then sort afterwards.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.minDepth": {
			"name": "camel.source.endpoint.minDepth",
			"description": "The minimum depth to start processing when recursively processing a directory. Using minDepth=1 means the base directory. Using minDepth=2 means the first sub directory.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.move": {
			"name": "camel.source.endpoint.move",
			"description": "Expression (such as Simple Language) used to dynamically set the filename when moving it after processing. To move files into a .done subdirectory just enter .done.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.exclusiveReadLockStrategy": {
			"name": "camel.source.endpoint.exclusiveReadLockStrategy",
			"description": "Pluggable read-lock as a org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy implementation.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLock": {
			"name": "camel.source.endpoint.readLock",
			"description": "Used by consumer, to only poll the files if it has exclusive read-lock on the file (i.e. the file is not in-progress or being written). Camel will wait until the file lock is granted. This option provides the build in strategies: - none - No read lock is in use - markerFile - Camel creates a marker file (fileName.camelLock) and then holds a lock on it. This option is not available for the FTP component - changed - Changed is using file length\/modification timestamp to detect whether the file is currently being copied or not. Will at least use 1 sec to determine this, so this option cannot consume files as fast as the others, but can be more reliable as the JDK IO API cannot always determine whether a file is currently being used by another process. The option readLockCheckInterval can be used to set the check frequency. - fileLock - is for using java.nio.channels.FileLock. This option is not avail for Windows OS and the FTP component. This approach should be avoided when accessing a remote file system via a mount\/share unless that file system supports distributed file locks. - rename - rename is for using a try to rename the file as a test if we can get exclusive read-lock. - idempotent - (only for file component) idempotent is for using a idempotentRepository as the read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-changed - (only for file component) idempotent-changed is for using a idempotentRepository and changed as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that. - idempotent-rename - (only for file component) idempotent-rename is for using a idempotentRepository and rename as the combined read-lock. This allows to use read locks that supports clustering if the idempotent repository implementation supports that.Notice: The various read locks is not all suited to work in clustered mode, where concurrent consumers on different nodes is competing for the same files on a shared file system. The markerFile using a close to atomic operation to create the empty marker file, but its not guaranteed to work in a cluster. The fileLock may work better but then the file system need to support distributed file locks, and so on. Using the idempotent read lock can support clustering if the idempotent repository supports clustering, such as Hazelcast Component or Infinispan. One of: [none] [markerFile] [fileLock] [rename] [changed] [idempotent] [idempotent-changed] [idempotent-rename]",
			"defaultValue": "\"none\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"none",
				"markerFile",
				"fileLock",
				"rename",
				"changed",
				"idempotent",
				"idempotent-changed",
				"idempotent-rename"
			]
		},
		"camel.source.endpoint.readLockCheckInterval": {
			"name": "camel.source.endpoint.readLockCheckInterval",
			"description": "Interval in millis for the read-lock, if supported by the read lock. This interval is used for sleeping between attempts to acquire the read lock. For example when using the changed read lock, you can set a higher interval period to cater for slow writes. The default of 1 sec. may be too fast if the producer is very slow writing the file. Notice: For FTP the default readLockCheckInterval is 5000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",
			"defaultValue": "1000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockDeleteOrphanLockFiles": {
			"name": "camel.source.endpoint.readLockDeleteOrphanLockFiles",
			"description": "Whether or not read lock with marker files should upon startup delete any orphan read lock files, which may have been left on the file system, if Camel was not properly shutdown (such as a JVM crash). If turning this option to false then any orphaned lock file will cause Camel to not attempt to pickup that file, this could also be due another node is concurrently reading files from the same shared directory.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockIdempotentReleaseAsync": {
			"name": "camel.source.endpoint.readLockIdempotentReleaseAsync",
			"description": "Whether the delayed release task should be synchronous or asynchronous. See more details at the readLockIdempotentReleaseDelay option.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockIdempotentReleaseAsyncPoolSize": {
			"name": "camel.source.endpoint.readLockIdempotentReleaseAsyncPoolSize",
			"description": "The number of threads in the scheduled thread pool when using asynchronous release tasks. Using a default of 1 core threads should be sufficient in almost all use-cases, only set this to a higher value if either updating the idempotent repository is slow, or there are a lot of files to process. This option is not in-use if you use a shared thread pool by configuring the readLockIdempotentReleaseExecutorService option. See more details at the readLockIdempotentReleaseDelay option.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockIdempotentReleaseDelay": {
			"name": "camel.source.endpoint.readLockIdempotentReleaseDelay",
			"description": "Whether to delay the release task for a period of millis. This can be used to delay the release tasks to expand the window when a file is regarded as read-locked, in an active\/active cluster scenario with a shared idempotent repository, to ensure other nodes cannot potentially scan and acquire the same file, due to race-conditions. By expanding the time-window of the release tasks helps prevents these situations. Note delaying is only needed if you have configured readLockRemoveOnCommit to true.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockIdempotentReleaseExecutorService": {
			"name": "camel.source.endpoint.readLockIdempotentReleaseExecutorService",
			"description": "To use a custom and shared thread pool for asynchronous release tasks. See more details at the readLockIdempotentReleaseDelay option.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockLoggingLevel": {
			"name": "camel.source.endpoint.readLockLoggingLevel",
			"description": "Logging level used when a read lock could not be acquired. By default a DEBUG is logged. You can change this level, for example to OFF to not have any logging. This option is only applicable for readLock of types: changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]",
			"defaultValue": "\"DEBUG\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"TRACE",
				"DEBUG",
				"INFO",
				"WARN",
				"ERROR",
				"OFF"
			]
		},
		"camel.source.endpoint.readLockMarkerFile": {
			"name": "camel.source.endpoint.readLockMarkerFile",
			"description": "Whether to use marker file with the changed, rename, or exclusive read lock types. By default a marker file is used as well to guard against other processes picking up the same files. This behavior can be turned off by setting this option to false. For example if you do not want to write marker files to the file systems by the Camel application.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockMinAge": {
			"name": "camel.source.endpoint.readLockMinAge",
			"description": "This option is applied only for readLock=changed. It allows to specify a minimum age the file must be before attempting to acquire the read lock. For example use readLockMinAge=300s to require the file is at last 5 minutes old. This can speedup the changed read lock as it will only attempt to acquire files which are at least that given age.",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockMinLength": {
			"name": "camel.source.endpoint.readLockMinLength",
			"description": "This option is applied only for readLock=changed. It allows you to configure a minimum file length. By default Camel expects the file to contain data, and thus the default value is 1. You can set this option to zero, to allow consuming zero-length files.",
			"defaultValue": "1L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockRemoveOnCommit": {
			"name": "camel.source.endpoint.readLockRemoveOnCommit",
			"description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file is succeeded and a commit happens. By default the file is not removed which ensures that any race-condition do not occur so another active node may attempt to grab the file. Instead the idempotent repository may support eviction strategies that you can configure to evict the file name entry after X minutes - this ensures no problems with race conditions. See more details at the readLockIdempotentReleaseDelay option.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockRemoveOnRollback": {
			"name": "camel.source.endpoint.readLockRemoveOnRollback",
			"description": "This option is applied only for readLock=idempotent. It allows to specify whether to remove the file name entry from the idempotent repository when processing the file failed and a rollback happens. If this option is false, then the file name entry is confirmed (as if the file did a commit).",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.readLockTimeout": {
			"name": "camel.source.endpoint.readLockTimeout",
			"description": "Optional timeout in millis for the read-lock, if supported by the read-lock. If the read-lock could not be granted and the timeout triggered, then Camel will skip the file. At next poll Camel, will try the file again, and this time maybe the read-lock could be granted. Use a value of 0 or lower to indicate forever. Currently fileLock, changed and rename support the timeout. Notice: For FTP the default readLockTimeout value is 20000 instead of 10000. The readLockTimeout value must be higher than readLockCheckInterval, but a rule of thumb is to have a timeout that is at least 2 or more times higher than the readLockCheckInterval. This is needed to ensure that amble time is allowed for the read lock process to try to grab the lock before the timeout was hit.",
			"defaultValue": "10000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffErrorThreshold": {
			"name": "camel.source.endpoint.backoffErrorThreshold",
			"description": "The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffIdleThreshold": {
			"name": "camel.source.endpoint.backoffIdleThreshold",
			"description": "The number of subsequent idle polls that should happen before the backoffMultipler should kick-in.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.backoffMultiplier": {
			"name": "camel.source.endpoint.backoffMultiplier",
			"description": "To let the scheduled polling consumer backoff if there has been a number of subsequent idles\/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and\/or backoffErrorThreshold must also be configured.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.delay": {
			"name": "camel.source.endpoint.delay",
			"description": "Milliseconds before the next poll.",
			"defaultValue": "500L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.greedy": {
			"name": "camel.source.endpoint.greedy",
			"description": "If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.initialDelay": {
			"name": "camel.source.endpoint.initialDelay",
			"description": "Milliseconds before the first poll starts.",
			"defaultValue": "1000L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.repeatCount": {
			"name": "camel.source.endpoint.repeatCount",
			"description": "Specifies a maximum limit of number of fires. So if you set it to 1, the scheduler will only fire once. If you set it to 5, it will only fire five times. A value of zero or negative means fire forever.",
			"defaultValue": "0L",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.runLoggingLevel": {
			"name": "camel.source.endpoint.runLoggingLevel",
			"description": "The consumer logs a start\/complete log line when it polls. This option allows you to configure the logging level for that. One of: [TRACE] [DEBUG] [INFO] [WARN] [ERROR] [OFF]",
			"defaultValue": "\"TRACE\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"TRACE",
				"DEBUG",
				"INFO",
				"WARN",
				"ERROR",
				"OFF"
			]
		},
		"camel.source.endpoint.scheduledExecutorService": {
			"name": "camel.source.endpoint.scheduledExecutorService",
			"description": "Allows for configuring a custom\/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.scheduler": {
			"name": "camel.source.endpoint.scheduler",
			"description": "To use a cron scheduler from either camel-spring or camel-quartz component. Use value spring or quartz for built in scheduler",
			"defaultValue": "\"none\"",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.schedulerProperties": {
			"name": "camel.source.endpoint.schedulerProperties",
			"description": "To configure additional properties when using a custom scheduler or any of the Quartz, Spring based scheduler.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.startScheduler": {
			"name": "camel.source.endpoint.startScheduler",
			"description": "Whether the scheduler should be auto started.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.timeUnit": {
			"name": "camel.source.endpoint.timeUnit",
			"description": "Time unit for initialDelay and delay options. One of: [NANOSECONDS] [MICROSECONDS] [MILLISECONDS] [SECONDS] [MINUTES] [HOURS] [DAYS]",
			"defaultValue": "\"MILLISECONDS\"",
			"priority": "MEDIUM",
			"required": "false",
			"enum": [
				"NANOSECONDS",
				"MICROSECONDS",
				"MILLISECONDS",
				"SECONDS",
				"MINUTES",
				"HOURS",
				"DAYS"
			]
		},
		"camel.source.endpoint.useFixedDelay": {
			"name": "camel.source.endpoint.useFixedDelay",
			"description": "Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.shuffle": {
			"name": "camel.source.endpoint.shuffle",
			"description": "To shuffle the list of files (sort in random order)",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.sortBy": {
			"name": "camel.source.endpoint.sortBy",
			"description": "Built-in sort by using the File Language. Supports nested sorts, so you can have a sort by file name and as a 2nd group sort by modified date.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.source.endpoint.sorter": {
			"name": "camel.source.endpoint.sorter",
			"description": "Pluggable sorter as a java.util.Comparator class.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.file.bridgeErrorHandler": {
			"name": "camel.component.file.bridgeErrorHandler",
			"description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.file.autowiredEnabled": {
			"name": "camel.component.file.autowiredEnabled",
			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		}
	},
	"transforms": [
		"org.apache.camel.kafkaconnector.file.transformers.FileTransforms"
	]
}