103.2.2. 쿼리 매개변수(87 매개변수):

이름설명기본값유형

charset (common)

이 옵션은 파일의 인코딩을 지정하는 데 사용됩니다. 소비자에서 이를 사용하여 파일의 인코딩을 지정할 수 있으며, 이 파일을 사용하면 Camel에서 파일 콘텐츠에 액세스하는 경우 파일 내용을 로드해야 하는 charset을 알 수 있습니다. 마찬가지로 파일을 작성할 때 이 옵션을 사용하여 파일을 작성할 문자 세트도 지정할 수 있습니다. Camel 파일을 작성할 때 데이터를 구성된 charset로 변환하기 위해 메시지 내용을 메모리로 읽을 수 있으므로 큰 메시지가 있는 경우 이 기능을 사용하지 마십시오.

 

문자열

doneFileName (common)

생산자: 제공된 경우 Camel은 원본 파일이 작성될 때 2nd done 파일을 작성합니다. 완료된 파일은 비어 있습니다. 이 옵션은 사용할 파일 이름을 구성합니다. 지정된 이름을 지정할 수 있습니다. 또는 동적 자리 표시자를 사용할 수 있습니다. 완료된 파일은 항상 원본 파일과 동일한 폴더에 작성됩니다. 소비자: 제공된 경우 Camel은 완료된 파일이 존재하는 경우에만 파일을 사용합니다. 이 옵션은 사용할 파일 이름을 구성합니다. 지정된 이름을 지정할 수 있습니다. 또는 동적 자리 표시자를 사용할 수 있습니다. 완료된 파일은 항상 원래 파일과 동일한 폴더에 있어야 합니다. $file.name 및 $file.name.noext만 동적 자리 표시자로 지원됩니다.

 

문자열

파일 이름 (일반)

파일 언어와 같은 식을 사용하여 파일 이름을 동적으로 설정합니다. 소비자의 경우 filename 필터로 사용됩니다. 생산자의 경우 쓸 파일 이름을 평가하는 데 사용됩니다. 표현식이 설정된 경우 CamelFileName 헤더보다 우선합니다. (참고: 헤더 자체는 표현식일 수도 있습니다.) 표현식 옵션은 문자열 및 식 유형을 모두 지원합니다. 식이 문자열 형식인 경우 항상 파일 언어를 사용하여 평가됩니다.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 example, to use OGNL expressions. 소비자의 경우 파일 이름을 필터링하는 데 사용할 수 있으므로 파일 언어 구문 mydata-$date:now:yyyyMMdd.txt를 사용하여 오늘 파일을 사용할 수 있습니다. 생산자는 기존 CamelFileName 헤더보다 우선하는 CamelOverruleFileName 헤더를 지원합니다. CamelOverruleFileName은 한 번만 사용되는 헤더이며 CamelFileName을 임시 저장소로 저장할 수 없으므로 나중에 복원해야 합니다.

 

문자열

bridgeErrorHandler (consumer)

소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN/ERROR 수준에서 기록되고 무시되는 예외를 처리합니다.

false

boolean

삭제 (consumer)

true인 경우 파일이 성공적으로 처리된 후 삭제됩니다.

false

boolean

moveFailed (consumer)

간단한 언어를 기반으로 이동 실패 표현식을 설정합니다. 예를 들어 파일을 .error 하위 디렉토리로 이동하려면 다음을 사용합니다. .error. 참고: 파일을 실패 위치로 이동할 때 Camel에서 오류를 처리하고 파일을 다시 가져오지 않습니다.

 

문자열

noop (consumer)

true인 경우 파일을 어떤 방식으로든 이동하거나 삭제하지 않습니다. 이 옵션은 읽기 전용 데이터 또는 ETL 형식 요구 사항에 적합합니다.This option is good for readonly data, or for ETL type requirements. noop=true인 경우 Camel은 같은 파일을 반복해서 사용하지 않도록 멱등=true로 설정합니다.

false

boolean

preMove (consumer)

처리 전에 이동할 때 파일 이름을 동적으로 설정하는 데 사용되는 표현식(예: File Language)입니다. 예를 들어 진행 중인 파일을 주문 디렉터리로 이동하려면 이 값을 order로 설정합니다.

 

문자열

preSort (consumer)

Pre-sort를 활성화하면 소비자가 폴링 중에 파일 시스템에서 검색한 파일 및 디렉터리 이름을 정렬합니다. 정렬된 순서로 파일에서 작업해야 하는 경우 이 작업을 수행할 수 있습니다. 사용자가 필터링을 시작하고 Camel에서 처리할 파일을 승인하기 전에 사전 정렬이 실행됩니다. 이 옵션은 default=false 의미로 비활성화됨을 의미합니다.

false

boolean

재귀 (consumer)

디렉터리가 있는 경우 는 모든 하위 디렉터리에서 파일도 찾습니다.

false

boolean

sendEmptyMessageWhenIdle (consumer)

폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지( 본문 없음)를 대신 보낼 수 있습니다.

false

boolean

DirectoryMustExist (consumer)

DirectoryMustExist를 시작하는 것과 유사하지만 재귀 하위 디렉터리를 폴링하는 동안 적용됩니다.

false

boolean

예외 처리기 (consumer)

소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN/ERROR 수준에서 기록되고 무시되는 예외를 처리합니다.

 

ExceptionHandler

exchangePattern (consumer)

Exchange를 만들 때 기본 교환 패턴을 설정합니다.

 

ExchangePattern

extendedAttributes (consumer)

원하는 파일 속성을 정의합니다. posix:permissions,posix:owner,basic:lastAccessTime과 마찬가지로 posix: basic:lastAccessTime과 같은 기본 와일드카드를 지원합니다.

 

문자열

inProgressRepository (consumer)

진행 중인 리포지토리 org.apache.camel.spi.IdempotentRepository. 진행 중인 리포지토리는 현재 사용 중인 진행 중인 파일을 설명하는 데 사용됩니다. 기본적으로 메모리 기반 리포지토리가 사용됩니다.

 

IdempotentRepository

localWorkDirectory (consumer)

사용하는 경우 메모리에 콘텐츠를 로드하지 않도록 로컬 작업 디렉터리를 로컬 파일에 직접 원격 파일 내용을 저장하는 데 사용할 수 있습니다. 이는 매우 큰 원격 파일을 사용하고 따라서 메모리를 절약할 수 있는 경우 유용합니다.

 

문자열

OnCompletionException Handler (consumer)

사용자 지정 org.apache.camel.spi.ExceptionHandler를 사용하여 소비자가 커밋 또는 롤백을 수행하는 완료 프로세스에서 발생하는 발생된 예외를 처리합니다. 기본 구현은 WARN 수준에서 예외를 기록하고 무시합니다.

 

ExceptionHandler

pollStrategy (consumer)

플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Camel에서 Exchange를 생성하고 라우팅하기 전에 폴링 작업 중에 일반적으로 발생한 오류 처리를 제어하는 사용자 정의 구현을 제공할 수 있습니다. 즉, 폴링에서 정보를 수집하는 동안 오류가 발생했습니다. 예를 들어 파일 네트워크에 대한 액세스 권한이 실패하여 Camel이 파일을 스캔하기 위해 액세스할 수 없습니다. 기본 구현은 WARN 수준에서 발생한 예외를 기록하고 무시합니다.

 

PollingConsumerPoll Strategy

probeContentType (consumer)

콘텐츠 유형의 프로빙을 활성화할지 여부입니다. 이 기능을 활성화하면 소비자가 Files#probeContentType(java.nio.file.Path)을 사용하여 파일의 content-type을 확인하고 메시지에서 Exchange#FILE_CONTENT_TYPE 키가 있는 헤더로 저장합니다.

false

boolean

processStrategy (consumer)

플러그형 org.apache.camel.component.file.GenericFileProcessStrategy를 사용하여 고유한 readLock 옵션을 구현할 수 있습니다. 은 특수 조건이 존재하기 전에 특수 조건을 충족해야 하는 경우(예: 특수 준비 파일)도 사용할 수 있습니다. 이 옵션을 설정하면 readLock 옵션이 적용되지 않습니다.

 

GenericFileProcess Strategy

StartDirectoryMustExist (consumer)

시작 디렉터리가 있어야 하는지 여부입니다. autoCreate 옵션은 기본적으로 활성화되어 있습니다. 즉, 시작 디렉터리가 없는 경우 자동으로 생성됩니다. 자동 생성을 비활성화하고 이를 활성화하여 시작 디렉터리가 있는지 확인할 수 있습니다. 디렉터리가 없는 경우 예외를 throw합니다.

false

boolean

fileExist (producer)

동일한 이름의 파일이 이미 있는 경우 어떻게 해야 합니까. 기본값인 을 재정의하고 기존 파일을 대체합니다. append - 기존 파일에 내용을 추가합니다. fail - 기존 파일이 이미 있음을 나타내는 GenericFileOperationException을 throw합니다. ignore - 자동으로 문제를 무시하고 기존 파일을 재정의하지 않지만 모든 것이 괜찮다고 가정합니다. move - 옵션은 moveExisting 옵션을 사용하여 구성해야 합니다. eagerDeleteTargetFile 옵션을 사용하여 파일을 이동하는 경우 수행할 작업을 제어할 수 있으며, 기존 파일이 이미 존재합니다. 그렇지 않으면 이동 작업이 실패합니다. 이동 옵션은 대상 파일을 작성하기 전에 기존 파일을 이동합니다. TryRename은 tempFileName 옵션이 사용 중인 경우에만 적용할 수 있습니다. 이렇게 하면 존재하는 확인을 수행하지 않고 임시 이름에서 실제 이름으로 파일 이름을 바꿀 수 있습니다. 일부 파일 시스템 및 특히 FTP 서버에서 이 확인이 더 빠를 수 있습니다.

override

GenericFileExist

flatten (producer)

flatten은 모든 선행 경로를 제거하도록 파일 이름 경로를 병합하는 데 사용되므로 파일 이름만 있으면 됩니다. 이를 통해 하위 디렉터리로 반복적으로 사용할 수 있지만 파일을 다른 디렉토리에 쓸 때 단일 디렉토리에 쓸 수 있습니다. 생산자에서 이를 true로 설정하면 CamelFileName 헤더의 모든 파일 이름이 모든 선행 경로에 대해 제거됩니다.

false

boolean

jailStartingDirectory (producer)

시작 디렉토리(및 하위 명령)에 파일 쓰기 전용(재무 제한)에 사용됩니다. 이는 Camel이 외부 디렉터리에 파일을 쓸 수 없도록 기본적으로 활성화되어 있습니다(장에서 더 안전하게 보호됨). 상위 또는 루트 폴더와 같은 시작 디렉토리 외부의 디렉터리에 파일을 쓸 수 있도록 이 기능을 해제할 수 있습니다.

true

boolean

기존 이동 (producer)

fileExist=Move가 구성될 때 사용할 파일 이름을 계산하는 데 사용되는 표현식(예: File Language)입니다. 파일을 백업 하위 디렉터리로 이동하려면 backup을 입력하면 됩니다. 이 옵션은 file:name, file:name.ext, file:name.noext, file:onlyname, file:onlyname.noext, file:ext 및 file:parent 토큰만 지원합니다. FTP 구성 요소에서 기존 파일을 현재 디렉터리 기반의 상대 디렉토리로만 이동할 수 있으므로 file:parent는 FTP 구성 요소에서 지원되지 않습니다.

 

문자열

tempFileName (producer)

tempPrefix 옵션과 동일하지만 파일 언어를 사용할 때 임시 파일 이름의 이름을 보다 세밀하게 제어할 수 있습니다.

 

문자열

tempPrefix (producer)

이 옵션은 임시 이름을 사용하여 파일을 작성한 다음 쓰기가 완료된 후 실제 이름으로 이름을 바꾸는 데 사용됩니다. 은 기록되는 파일을 식별하는 데 사용할 수 있으며 진행 중인 파일에서 읽는 소비자(정상 읽기 잠금을 사용하지 않음)도 방지할 수 있습니다. 큰 파일을 업로드할 때 FTP에서 자주 사용됩니다.

 

문자열

allownullBody (producer)

파일을 작성하는 동안 null 본문이 허용되는지 여부를 지정하는 데 사용됩니다. true로 설정하면 빈 파일이 생성되고 false로 설정되고, 파일 구성 요소에 null 본문을 보내려고 하면 GenericFileWriteException of 'Cannot write null body to file.'가 throw됩니다. fileExist 옵션이 'Override'로 설정된 경우 파일이 잘려지고 파일을 추가하도록 설정하면 변경되지 않습니다.

false

boolean

chmod (producer)

생산자가 보낸 파일 권한을 지정하면, chmod 값은 000과 777 사이여야 합니다. 0755와 같은 선행 숫자가 있으면 무시합니다.

 

문자열

chmodDirectory (producer)

생산자가 누락된 디렉토리를 생성할 때 사용되는 디렉토리 권한을 지정합니다. chmod 값은 000과 777 사이여야 합니다. 0755와 같은 선행 숫자가 있으면 무시합니다.

 

문자열

eagerDeleteTargetFile (producer)

기존 대상 파일을 신속하게 삭제할지 여부입니다. 이 옵션은 fileExists=Override 및 tempFileName 옵션을 사용하는 경우에만 적용됩니다. 임시 파일을 작성하기 전에 이를 사용하여 대상 파일을 삭제(false로 설정)할 수 있습니다. 예를 들어 대용량 파일을 작성하고 임시 파일을 작성하는 동안 대상 파일이 존재하도록 할 수 있습니다. 이렇게 하면 임시 파일의 이름이 대상 파일 이름으로 변경되기 직전에 마지막까지 대상 파일이 삭제됩니다. 이 옵션은 fileExist=Move가 활성화되어 있을 때 기존 파일을 삭제할지 여부를 제어하는 데도 사용됩니다. 이 옵션 copyAndDeleteOnRenameFails false를 사용하면 기존 파일이 존재하면 true인 경우 기존 파일이 throw된 다음 이동 작업 전에 기존 파일이 삭제됩니다.

true

boolean

forceWrites (producer)

파일 시스템에 쓰기를 강제 동기화할지 여부입니다. 이러한 보장 수준을 원하지 않는 경우 (예: 로그 / 감사 로그에 쓰기 등)를 끌 수 있습니다. 이렇게 하면 성능이 향상됩니다.

true

boolean

keepLastModified (producer)

는 소스 파일에서 마지막으로 수정된 타임스탬프를 유지합니다(있는 경우). 그러면 Exchange.FILE_LAST_MODIFIED 헤더를 사용하여 타임스탬프를 배치합니다. 이 헤더에는 타임스탬프가 있는 java.util.Date 또는 long이 포함될 수 있습니다. 타임 스탬프가 존재하고 옵션이 활성화되면 이 타임스탬프가 기록된 파일에 설정됩니다. 참고: 이 옵션은 파일 생산자에만 적용됩니다. 이 옵션은 ftp 생산자와 함께 사용할 수 없습니다.

false

boolean

moveExistingFileStrategy (producer)

fileExist=Move가 구성될 때 사용할 특수 네이밍 토큰이 있는 파일을 이동하는 데 사용되는 전략(Custom Strategy)입니다. 사용자 정의 전략이 제공되지 않는 경우 기본적으로 구현이 사용됩니다.

 

FileMove 기존 전략

autoCreate (advanced)

파일의 경로 이름에 누락된 디렉터리를 자동으로 생성합니다. file consumer의 경우 이는 시작 디렉토리를 생성하는 것을 의미합니다. 파일 생산자의 경우 파일을 작성해야 하는 디렉터리를 의미합니다.

true

boolean

bufferSize (advanced)

바이트로 크기의 쓰기 버퍼입니다.

131072

int

copyAndDeleteOnRenameFail (advanced)

대체 및 복사 및 삭제 파일의 경우 파일을 직접 변경할 수 없습니다. 이 옵션은 FTP 구성 요소에서 사용할 수 없습니다.

true

boolean

renameUsingCopy (advanced)

복사 및 삭제 전략을 사용하여 이름 변경 작업을 수행합니다. 이는 주로 정규 이름 변경 작업이 신뢰할 수 없는 환경에서 사용됩니다(예: 다른 파일 시스템 또는 네트워크에서). 이 옵션은 추가 지연 후에만 자동으로 복사 및 삭제 전략으로 대체되는 copyAndDeleteOnRenameFail 매개변수보다 우선합니다.

false

boolean

synchronous (advanced)

동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우).

false

boolean

antExclude (filter)

ant 스타일 필터 제외. ant included와 antExclude가 모두 사용되면 antExclude가 ant Include보다 우선합니다. 여러 제외를 쉼표로 구분된 형식으로 지정할 수 있습니다.

 

문자열

antFilterCaseSensitive (filter)

ant 필터에 대/소문자 구분 플래그를 설정

true

boolean

ant included (filter)

ant 스타일 필터 포함. 여러 개의 포함 사항을 쉼표로 구분된 형식으로 지정할 수 있습니다.

 

문자열

eagerMaxMessagesPerPoll (filter)

maxMessagesPerPoll의 제한을 신속하게 수행할 수 있는지 여부를 제어할 수 있습니다. 원하는 경우 제한을 사용하면 파일을 검사하는 동안 제한이 있습니다. false로 모든 파일을 스캔한 다음 정렬을 수행합니다. 이 옵션을 false로 설정하면 모든 파일을 먼저 정렬한 다음 폴링을 제한할 수 있습니다. 이 경우 정렬을 수행하려면 모든 파일 세부 정보가 메모리에 있으므로 메모리 사용량이 높아야 합니다.

true

boolean

exclude (filter)

은 파일을 제외하는 데 사용됩니다. filename이 regex 패턴과 일치하는 경우(대문자 in-senstive)입니다. 더하기 기호와 같은 기호를 사용하고 다른 기호를 엔드포인트 uri로 구성하면 RAW() 구문을 사용하여 이를 구성해야 합니다. 끝점 URI 구성에 대한 자세한 내용은 참조

 

문자열

filter (필터)

Pluggable 필터를 org.apache.camel.component.file.GenericFileFilter 클래스로 필터링합니다. 필터가 accept() 메서드에서 false를 반환하면 파일을 건너뜁니다.

 

GenericFileFilter

filterDirectory (filter)

단순 언어를 기반으로 디렉터리를 필터링합니다. 예를 들어 현재 날짜에 대해 필터링하려면 $date:now:yyyyMMdd와 같은 간단한 날짜 패턴을 사용할 수 있습니다.

 

문자열

filterFile (filter)

단순 언어를 기반으로 파일을 필터링합니다. 예를 들어 파일 크기를 필터링하려면 $file:size 5000을 사용할 수 있습니다.

 

문자열

등(filter)

Idempotent Consumer EIP 패턴을 사용하여 Camel이 이미 처리된 파일을 건너뛸 수 있도록 하는 옵션. 기본적으로 1000개의 항목이 있는 메모리 기반 LRUCache를 사용합니다. noop=true인 경우 동일한 파일을 반복해서 사용하지 않도록 멱등이 활성화됩니다.

false

부울

멱등Key (filter)

사용자 지정 멱등 키를 사용하려면 다음을 수행합니다. 기본적으로 파일의 절대 경로가 사용됩니다. 파일 언어를 사용하여 파일 이름과 파일 크기를 사용할 수 있습니다. 멱등Key=$file:name-$file:size

 

문자열

멱등Repository (필터)

플러그형 리포지토리 org.apache.camel.spi.IdempotentRepository은 지정되어 있지 않고 멱등이 true인 경우 기본적으로 MemoryMessageIdRepository을 사용합니다.

 

IdempotentRepository

포함 (필터)

은 파일을 포함하는 데 사용됩니다. filename이 regex 패턴과 일치하는 경우 (대/소문자를 구분하지 않음) 더하기 기호와 같은 기호를 사용하고 다른 기호를 엔드포인트 uri로 구성하면 RAW() 구문을 사용하여 이를 구성해야 합니다. 끝점 URI 구성에 대한 자세한 내용은 참조

 

문자열

maxdepth (filter)

디렉터리를 재귀적으로 처리할 때 이동할 최대 깊이입니다.

2147483647

int

maxMessagesPerPoll (filter)

폴링당 수집할 최대 메시지를 정의합니다. 기본적으로 최대값은 설정되어 있지 않습니다. 은 수천 개의 파일이 있는 서버를 시작할 때 발생하지 않도록 (예: 1000)의 제한을 설정하는 데 사용할 수 있습니다. 0 또는 음수 값을 비활성화로 설정합니다. 참고: 이 옵션이 사용 중인 경우 파일 및 FTP 구성 요소는 정렬 전에 제한됩니다. 예를 들어 100000개의 파일이 있고 maxMessagesPerPoll=500을 사용하는 경우 처음 500개 파일만 선택한 다음 정렬됩니다. eagerMaxMessagesPerPoll 옵션을 사용하여 먼저 모든 파일을 스캔한 다음 나중에 정렬할 수 있도록 이를 false로 설정할 수 있습니다.

 

int

minDepth (filter)

디렉터리를 재귀적으로 처리할 때 처리를 시작하는 최소 깊이입니다. minDepth=1을 사용하면 기본 디렉터리가 됩니다. minDepth=2를 사용하면 첫 번째 하위 디렉터리가 됩니다.

 

int

이동 (filter)

처리 후 이동할 때 파일 이름을 동적으로 설정하는 데 사용되는 표현식(예: Simple Language)입니다. 파일을 .done 하위 디렉터리로 이동하려면 .done을 입력하면 됩니다.

 

문자열

exclusiveReadLockStrategy (lock)

org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 구현으로 Pluggable read-lock.

 

GenericFileExclusive ReadLockStrategy

readLock (lock)

소비자가 파일에 배타적인 읽기 잠금이 있는 경우에만 파일을 폴링하는 데 사용합니다(즉, 파일이 진행 중이거나 기록되지 않음). Camel은 파일 잠금이 부여될 때까지 대기합니다. 이 옵션은 전략 빌드를 제공합니다. none - read lock is in use markerFile - Camel은 마커 파일 (fileName.camelLock)을 만든 다음 잠금을 유지합니다. 변경된 FTP 구성 요소에는 이 옵션을 사용할 수 없습니다. Changed는 파일 길이/수정 타임스탬프를 사용하여 파일이 현재 복사 중인지 여부를 탐지합니다. 최소한 1초를 사용하여 이를 결정하므로 이 옵션은 다른 항목과 마찬가지로 파일을 빠르게 사용할 수 없지만 JDK IO API는 파일이 현재 다른 프로세스에서 사용되고 있는지 여부를 확인할 수 없으므로 더 신뢰할 수 없습니다. readLockCheckInterval 옵션을 사용하여 확인 빈도를 설정할 수 있습니다. fileLock -는 java.nio.channels.FileLock을 사용하기 위한 것입니다. 이 옵션은 FTP 구성 요소에서 사용할 수 없습니다. 파일 시스템이 분산 파일 잠금을 지원하지 않는 한 마운트/공유를 통해 원격 파일 시스템에 액세스하는 경우 이 방법을 피해야 합니다. 이름 바꾸기는 테스트로 파일 이름을 변경하려고 합니다. 멱등은 배타적인 읽기 잠금을 얻을 수 있습니다. 멱등은 멱등Repository만 읽기 잠금으로 사용하는 것입니다. 이를 통해 멱등 리포지토리 구현이 해당. idempotent-changed를 지원하는 경우 클러스터링을 지원하는 읽기 잠금을 사용할 수 있습니다. (파일 구성 요소 전용) 멱등Repository을 사용하고 결합된 read-lock로 변경된 경우 클러스터링을 사용할 수 있습니다. 이를 통해 멱등 리포지토리 구현이 해당. idempotent-rename을 지원하는 경우 클러스터링을 지원하는 읽기 잠금을 사용할 수 있습니다. (파일 구성 요소 전용) 멱등Repository을 사용하고 결합된 read-lock로 이름을 바꿉니다. 이를 통해 멱등 리포지토리 구현이 지원하는 경우 클러스터링을 지원하는 읽기 잠금을 사용할 수 있습니다. 참고: 다양한 읽기 잠금이 클러스터 모드로 작동하는 데 적합하지 않습니다. 다른 노드의 동시 소비자는 공유 파일 시스템의 동일한 파일에 대해 경쟁합니다. markerFile은 빈 마커 파일을 생성하는 데 원자성 작업을 사용하는 반면 클러스터에서는 작동하지 않을 수 있습니다. fileLock이 더 잘 작동할 수 있지만 파일 시스템은 분산 파일 잠금을 지원해야 합니다. 멱등 읽기 잠금을 사용하면 멱등 리포지토리에서 Hazelcast 구성 요소 또는 Infinispan과 같은 클러스터링을 지원하는 경우 클러스터링을 지원할 수 있습니다.

none

문자열

readLockCheckInterval (lock)

읽기 잠금에서 지원되는 경우 read-lock의 간격을 밀리코어로 설정합니다. 이 간격은 읽기 잠금을 획득하려는 시도 사이에 잠자는 데 사용됩니다. 예를 들어 변경된 읽기 잠금을 사용하는 경우 속도가 느린 쓰기를 수행하도록 간격 기간을 설정할 수 있습니다. 프로듀서가 파일을 쓰는 속도가 매우 느린 경우 기본값은 1초입니다. 참고: FTP의 경우 기본 readLockCheckInterval은 5000입니다. readLockTimeout 값은 readLockCheckInterval보다 커야하지만 엄지 손가락 규칙에는 readLockCheckInterval보다 2배 이상 높은 시간 초과가 있습니다. 이 작업은 읽기 잠금 프로세스가 시간 초과에 도달하기 전에 잠금을 잡으려는 대기 시간이 허용되도록 하는 데 필요합니다.

1000

long

readLockDeleteOrphanLock Files (lock)

시작 시 마커 파일을 사용하여 잠금을 읽을지 여부는 Camel이 올바르게 종료되지 않은 경우(예: JVM 충돌) 파일 시스템에 남아 있을 수 있는 분리된 읽기 잠금 파일을 삭제해야 합니다. 이 옵션을 false로 설정하면 분리된 잠금 파일이 있으면 Camel이 해당 파일을 선택하려고 시도하지 않을 수 있습니다. 다른 노드에서 동일한 공유 디렉터리에서 파일을 읽고 있기 때문일 수도 있습니다.

true

boolean

readLockIdementRelease Async (lock)

지연된 릴리스 작업이 동기 또는 비동기여야 하는지 여부입니다. 자세한 내용은 readLockIdempotentReleaseDelay 옵션을 참조하십시오.

false

boolean

readLockIdempotentRelease AsyncPoolSize (lock)

비동기 릴리스 작업을 사용하는 경우 예약된 스레드 풀의 스레드 수입니다. 기본값 1개의 코어 스레드를 사용하는 것이 거의 모든 사용 사례에서 충분해야 하며 멱등 리포지토리를 업데이트하는 경우 이 값을 더 높은 값으로 설정하거나 처리할 파일이 많이 있을 때 이 값을 더 높은 값으로 설정합니다. readLockIdempotentReleaseExecutorService 옵션을 구성하여 공유 스레드 풀을 사용하는 경우 이 옵션을 사용하지 않습니다. 자세한 내용은 readLockIdempotentReleaseDelay 옵션을 참조하십시오.

 

int

readLockIdementRelease Delay (lock)

밀리코어의 릴리스 작업을 지연할지 여부입니다. 이 값을 사용하면 파일이 읽기 잠금으로 간주될 때 창을 확장하도록 릴리스 작업을 지연하여, 공유 멱등 리포지토리가 있는 활성/활성 클러스터 시나리오에서 경쟁 조건으로 인해 다른 노드에서 동일한 파일을 잠재적으로 검사하고 가져올 수 없도록 할 수 있습니다. 릴리스 작업의 시간 범위를 확장하면 이러한 상황을 방지할 수 있습니다. 참고 지연은 readLockRemoveOnCommit를 true로 구성한 경우에만 필요합니다.

 

int

readLockIdementRelease ExecutorService (lock)

비동기 릴리스 작업에 대해 사용자 지정 및 공유 스레드 풀을 사용하려면To use a custom and shared thread pool for asynchronous release tasks 자세한 내용은 readLockIdempotentReleaseDelay 옵션을 참조하십시오.

 

ScheduledExecutor Service

readLockLoggingLevel (lock)

읽기 잠금을 가져올 수 없을 때 사용되는 로깅 수준입니다. 기본적으로 WARN이 기록됩니다. 예를 들어 로깅이 없도록 이 수준을 OFF로 변경할 수 있습니다. 이 옵션은 readLock 유형만 적용할 수 있습니다: changed, fileLock, 멱등, 멱등-rename, rename.

DEBUG

LoggingLevel

readLockMarkerFile (lock)

변경된, 이름 변경 또는 독점적 읽기 잠금 유형과 함께 마커 파일을 사용할지 여부입니다. 기본적으로 마커 파일은 물론 다른 프로세스에서 동일한 파일을 선택하는 것을 보호하는 데 사용됩니다. 이 옵션을 false로 설정하여 이 동작을 비활성화할 수 있습니다. 예를 들어 Camel 애플리케이션에서 파일 시스템에 마커 파일을 작성하지 않으려면 다음을 수행합니다.

true

boolean

readLockMinAge (lock)

이 옵션은 readLock=changed에만 적용됩니다. 읽기 잠금을 획득하기 전에 파일이 있어야 하는 최소 기간을 지정할 수 있습니다. 예를 들어 파일을 지난 5분 동안 사용하도록 readLockMinAge=300s를 사용하십시오. 이렇게 하면 변경된 읽기 잠금을 빠르게 수행할 수 있습니다. 이는 적어도 해당 기간인 파일을 획득하려고 시도하기 때문입니다.

0

long

readLockMinLength (lock)

이 옵션은 readLock=changed에만 적용됩니다. 최소 파일 길이를 구성할 수 있습니다. 기본적으로 Camel은 파일에 데이터를 포함할 것으로 예상하므로 기본값은 1입니다. 길이가 0인 파일을 사용할 수 있도록 이 옵션을 0으로 설정할 수 있습니다.

1

long

readLockRemoveOnCommit (lock)

이 옵션은 readLock=idempotent에만 적용됩니다. 파일을 처리할 때 멱등 리포지토리에서 파일 이름 항목을 제거할지 여부를 지정하고 커밋이 수행됩니다. 기본적으로 파일은 제거되지 않으므로 경쟁 조건이 발생하지 않도록 다른 활성 노드가 파일을 잡으려 할 수 있습니다. 대신 멱등 리포지토리는 X분 후에 파일 이름 항목을 제거하도록 구성할 수 있는 제거 전략을 지원할 수 있습니다. 이로 인해 경합 상태가 발생하지 않습니다. 자세한 내용은 readLockIdempotentReleaseDelay 옵션을 참조하십시오.

false

boolean

readLockRemoveOnRollback (lock)

이 옵션은 readLock=idempotent에만 적용됩니다. 파일을 처리할 때 멱등 리포지토리에서 파일 이름 항목을 제거할지 여부를 지정하고 롤백이 수행됩니다. 이 옵션이 false이면 파일 이름 항목이 확인됩니다(파일에서 커밋한 것처럼).

true

boolean

readLockTimeout (lock)

read-lock에서 지원하는 경우 read-lock의 선택적 타임아웃은 read-lock에 대해 밀리코어입니다. 읽기 잠금을 부여할 수 없고 시간이 트리거되면 Camel이 파일을 건너뜁니다. 다음 poll Camel에서 파일을 다시 시도하고 이번에는 읽기 잠금을 부여할 수 있습니다. 0 값을 사용하거나 영원히 표시하려면 더 낮은 값을 사용합니다. 현재 fileLock, 변경된 및 이름 바꾸기는 시간 초과를 지원합니다. 참고: FTP의 경우 기본 readLockTimeout 값은 10000 대신 20000입니다. readLockTimeout 값은 readLockCheckInterval보다 커야하지만 엄지 손가락 규칙에는 readLockCheckInterval보다 2배 이상 높은 시간 초과가 있습니다. 이 작업은 읽기 잠금 프로세스가 시간 초과에 도달하기 전에 잠금을 잡으려는 대기 시간이 허용되도록 하는 데 필요합니다.

10000

long

backoffErrorThreshold (scheduler)

백오프Multipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다.

 

int

backoffIdleThreshold (scheduler)

백오프Multipler를 시작하기 전에 발생해야 하는 후속 유휴 폴링 수입니다.

 

int

backoffMultiplier (scheduler)

예약된 폴링 소비자 백오프가 연속된 여러 개의 유휴/errors가 있는 경우 해당 행에 사용할 수 있습니다. multiplier는 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용하는 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다.

 

int

지연 (scheduler)

다음 폴링보다 밀리초입니다. 기본값은 500입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다.

500

long

greedy (scheduler)

greedy가 활성화된 경우 ScheduledPollConsumer는 이전 실행이 1개 이상의 메시지를 폴링하면 즉시 다시 실행됩니다.

false

boolean

initialDelay (scheduler)

첫 번째 폴링이 시작되기 전까지의 밀리초입니다. 기본값은 1000입니다. 60초(60초), 5m30초(5분 및 30초) 및 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다.

1000

long

runLoggingLevel (scheduler)

소비자는 폴링할 때 시작/완료 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다.

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자는 자체 스레드 스레드 풀이 있습니다. 이 옵션을 사용하면 여러 소비자 간에 스레드 풀을 공유할 수 있습니다.

 

ScheduledExecutor Service

스케줄러 (scheduler)

사용자 지정 org.apache.camel.spi.ScheduledPollConsumerScheduler가 폴링 소비자가 실행될 때 실행되는 스케줄러로 사용할 수 있도록 허용합니다. 기본 구현에서는 ScheduledExecutorService를 사용하며 CRON 표현식을 지원하는 Quartz2 및 Spring 기반이 있습니다. 참고: 사용자 지정 스케줄러를 사용하는 경우 initialDelay 옵션에 initialDelay, timeUnit 및 scheduledExecutorService를 사용하지 못할 수 있습니다. 텍스트 quartz2를 사용하여 Quartz2 스케줄러를 사용하고, spring 텍스트를 사용하여 Spring 기반을 사용하고, 레지스트리의 ID로 사용자 지정 스케줄러를 참조하도록 #myScheduler 텍스트를 사용합니다. 자세한 내용은 Quartz2 페이지를 참조하십시오.

none

ScheduledPollConsumer Scheduler

스케줄러 속성 (scheduler)

사용자 지정 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다.

 

map

StartScheduler (scheduler)

스케줄러가 자동으로 시작되어야 하는지 여부입니다.

true

boolean

timeUnit (scheduler)

initialDelay 및 지연 옵션의 시간 단위입니다.

밀리초

TimeUnit

UseFixedDelay (scheduler)

고정 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 JDK의 ScheduledExecutorService를 참조하십시오.

true

boolean

shuffle (sort)

파일 목록을 축소하려면 ( 임의의 순서로 정렬됨)

false

boolean

sortby (sort)

파일 언어를 사용하여 기본 제공 정렬입니다. 파일 이름별 정렬을 수정하고 수정된 날짜에 따라 정렬을 두 번째 그룹 정렬으로 수행할 수 있도록 중첩 정렬을 지원합니다.Supports nested sorts, so you can have a sort by file name and as a twond group sort by modified date.

 

문자열

Sorter (sort)

java.util.Comparator 클래스로 플러그형 정렬기.

 

비교

작은 정보

파일 생산자의 기본 동작 은 기본적으로 동일한 이름의 기존 파일을 덮어씁니다.