104.2. URI 옵션


File 구성 요소에는 옵션이 없습니다.

File 끝점은 URI 구문을 사용하여 구성됩니다.

file:directoryName

다음 경로 및 쿼리 매개변수를 사용합니다.

104.2.1. 경로 매개변수(1 매개변수):

이름설명기본유형

directoryName

필수 시작 디렉터리

 

파일

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

이름설명기본유형

charset (common)

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

 

문자열

doneFileName (일반)

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

 

문자열

파일 이름 (일반)

File Language 와 같은 Expression을 사용하여 파일 이름을 동적으로 설정합니다. 소비자의 경우 파일 이름 필터로 사용됩니다. 생산자의 경우 작성할 파일 이름을 평가하는 데 사용됩니다. 표현식이 설정되면 CamelFileName 헤더보다 우선합니다. (참고: 헤더 자체는 표현식일 수도 있습니다.) 표현식 옵션은 String 및 Expression 유형을 모두 지원합니다. 표현식이 문자열 유형인 경우 File Language를 사용하여 항상 평가됩니다. 표현식이 Expression 유형인 경우 지정된 Expression 유형이 사용됩니다 - 예를 들어 OGNL 표현식을 사용할 수 있습니다. 소비자의 경우 파일 이름을 필터링하는 데 사용할 수 있으므로 파일 언어 구문을 사용하여 오늘 파일을 사용할 수 있습니다. mydata-$date:now:yyyMMdd.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 유형 요구 사항에 적합합니다. noop=true인 경우 Camel은 동일한 파일을 반복해서 사용하지 않도록 idempotent=true를 설정합니다.

false

boolean

사전( Consumer)

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

 

문자열

사전 정렬 (consumer)

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

false

boolean

재귀 (소유)

디렉터리인 경우 는 모든 하위 디렉터리의 파일도 찾습니다.

false

boolean

sendEmptyMessageWhenIdle (consumer)

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

false

boolean

directoryMustExist (consumer)

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

false

boolean

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

교환을 생성할 때 기본 교환 패턴을 설정합니다.

 

ExchangePattern

extendedAttributes (consumer)

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

 

문자열

inProgressRepository (consumer)

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

 

IdempotentRepository

localWorkDirectory (consumer)

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

 

문자열

onCompletionException Handler (consumer)

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

 

ExceptionHandler

pollStrategy (consumer)

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

 

PollingConsumerPoll Strategy

probeContentType (consumer)

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

false

boolean

processStrategy (consumer)

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

 

GenericFileProcess Strategy

startingDirectoryMustExist (consumer)

시작 디렉터리가 있어야 하는지 여부입니다. autoCreate 옵션은 기본적으로 활성화되어 있으므로 일반적으로 존재하지 않는 경우 시작 디렉터리가 자동으로 생성됩니다. 자동 생성을 비활성화하고 이를 활성화하여 시작 디렉터리가 있어야 합니다. 디렉터리가 없는 경우 예외가 throw됩니다.

false

boolean

fileExist (producer)

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

덮어쓰기

GenericFileExist

flatten (producer)

flatten은 모든 선행 경로를 제거하는 파일 이름 경로를 병합하는 데 사용되므로 파일 이름만 사용할 수 있습니다. 이를 통해 하위 디렉터리로 재귀적으로 사용할 수 있지만, 파일을 다른 디렉토리에 쓰는 경우 해당 파일이 단일 디렉터리에 작성됩니다. 프로듀서에서 true로 설정하면 선행 경로에 대해 CamelFileName 헤더의 모든 파일 이름이 제거됨을 적용합니다.

false

boolean

artifactStartingDirectory (producer)

시작 디렉터리(및 하위 디렉터리)에만 파일을 쓰는 데만 사용할 수 있습니다. Camel이 외부 디렉터리에 파일을 쓸 수 없도록 하려면 기본적으로 활성화되어 있습니다(상급에서 더 보안이 유지됨). 상위 또는 루트 폴더와 같은 시작 디렉터리 외부의 디렉터리에 파일을 쓸 수 있도록 하려면 이 기능을 끌 수 있습니다.

true

boolean

MoveExisting (producer)

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

 

문자열

tempFileName (producer)

tempPrefix 옵션과 동일하지만 파일 언어를 사용하므로 임시 파일 이름 이름에 대한 보다 세밀한 제어를 제공합니다.

 

문자열

tempPrefix (producer)

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

 

문자열

allowNullBody (producer)

파일 작성 중에 null 본문이 허용되는지 여부를 지정하는 데 사용됩니다. true로 설정하면 비어 있는 파일이 생성되고 false로 설정되고 파일 구성 요소에 null 본문을 전송하려고 하면 'Cannot write null body to file'이 발생합니다. fileExist 옵션이 'Override'로 설정되어 있으면 파일이 잘리며, 추가로 설정된 경우 파일이 변경되지 않은 상태로 유지됩니다.

false

boolean

chmod (producer)

생산자가 보낸 파일 권한을 지정합니다. chmod 값은 000과 777 사이여야 합니다. 0755에서와 같은 선행 숫자가 있는 경우 이를 무시합니다.

 

문자열

chmodDirectory (producer)

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

 

문자열

eagerDeleteTargetFile (producer)

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

true

boolean

forceWrites (producer)

파일 시스템에 대한 쓰기를 강제 동기화할지 여부입니다. 예를 들어 로그 / 감사 로그에 쓰는 경우 이러한 수준의 보장을 원하지 않는 경우 이 기능을 비활성화할 수 있습니다. 이로 인해 성능이 향상됩니다.

true

boolean

keepLast Cryostat (producer)

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

false

boolean

moveExistingFileStrategy (producer)

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

 

FileMoveExisting Strategy

autoCreate (advanced)

파일의 경로 이름에 누락된 디렉터리를 자동으로 생성합니다. 파일 소비자의 경우 시작 디렉터리를 생성합니다. 파일 프로듀서의 경우 파일을 작성해야 하는 디렉터리를 의미합니다.

true

boolean

bufferSize (advanced)

버퍼 크기(바이트)입니다.

131072

int

copyAndDeleteOnRenameFail (advanced)

파일 이름을 직접 대체하여 복사 및 삭제할지 여부입니다. 이 옵션은 FTP 구성 요소에서 사용할 수 없습니다.

true

boolean

renameUsingCopy (advanced)

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

false

boolean

동기 (고급)

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

false

boolean

antExclude (filter)

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

 

문자열

antFilterCaseSensitive (filter)

ant 필터에 대소문자를 민감한 플래그를 설정

true

boolean

antInclude (필터)

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

 

문자열

eagerMaxMessagesPerPoll (filter)

maxMessagesPerPoll의 제한이 즉시인지 여부를 제어할 수 있습니다. 원하는 경우 파일을 스캔하는 동안 제한이 있습니다. 여기서 false는 모든 파일을 스캔한 다음 정렬을 수행합니다. 이 옵션을 false로 설정하면 먼저 모든 파일을 정렬한 다음 폴링을 제한할 수 있습니다. 정렬을 수행하려면 모든 파일 세부 정보가 메모리에 있으므로 더 높은 메모리 사용량이 필요합니다.

true

boolean

exclude (filter)

는 파일을 제외하는 데 사용됩니다. 파일 이름이 regex 패턴과 일치하는 경우(matching is case in-senstive). 더하기 기호 및 기타 기호를 사용하는 경우 이를 엔드포인트 uri로 구성하는 경우 RAW() 구문을 사용하여 구성해야 합니다. 엔드 포인트 URI 구성에 대한 자세한 내용을 참조하십시오.

 

문자열

필터 (필터)

org.apache.camel.component.file.GenericFileFilter 클래스로 Pluggable 필터를 사용할 수 있습니다. filter가 accept() 메서드에서 false를 반환하는 경우 파일을 건너뜁니다.

 

GenericFileFilter

filterDirectory (필터)

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

 

문자열

filterFile (필터)

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

 

문자열

idempotent (filter)

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

false

부울

idempotentKey (filter)

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

 

문자열

idempotentRepository (filter)

플러그형 리포지토리 org.apache.camel.spi.IdempotentRepository는 기본적으로 지정되지 않은 경우 MemoryMessageIdRepository를 사용하고 idempotent가 true입니다.

 

IdempotentRepository

포함 (filter)

파일 이름이 regex 패턴과 일치하는 경우 파일을 포함하는 데 사용됩니다(matching은 대소문자를 구분하지 않음). 더하기 기호 및 기타 기호를 사용하는 경우 이를 엔드포인트 uri로 구성하는 경우 RAW() 구문을 사용하여 구성해야 합니다. 엔드 포인트 URI 구성에 대한 자세한 내용을 참조하십시오.

 

문자열

최대 깊이 (필터)

디렉터리를 재귀적으로 처리할 때 트래버스할 수 있는 최대 깊이입니다.

2147483647

int

maxMessagesPerPoll (필터)

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

 

int

minDepth (filter)

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

 

int

이동 (필터)

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

 

문자열

exclusiveReadLockStrategy (lock)

org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy 구현의 플러그형 읽기 잠금.

 

GenericFileExclusive ReadLockStrategy

readLock (lock)

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

none

문자열

readLockCheckInterval (lock)

읽기 잠금에서 지원하는 경우 읽기 잠금의 간격(밀리초)입니다. 이 간격은 읽기 잠금을 취득하려는 시도 사이에 자고있는 데 사용됩니다. 예를 들어 변경된 읽기 잠금을 사용하는 경우 느린 쓰기를 수용하도록 더 높은 간격 기간을 설정할 수 있습니다. 1 sec의 기본값은 생산자가 파일을 매우 느린 경우 너무 빠를 수 있습니다. 참고: FTP의 경우 기본 readLockCheckInterval은 5000입니다. readLockTimeout 값은 readLockCheckInterval보다 커야 하지만, 엄지엄한 규칙은 시간 초과가 readLockCheckInterval보다 2배 이상 높은 시간을 갖는 것입니다. 이는 읽기 잠금 프로세스가 시간 초과에 도달하기 전에 잠금을 취득할 수 있도록 하는 데 필요합니다.

1000

long

readLockDeleteOrphanLock 파일 (lock)

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

true

boolean

readLockIdempotentRelease Async (lock)

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

false

boolean

readLockIdempotentRelease AsyncPoolSize (lock)

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

 

int

readLockIdempotentRelease Delay (lock)

밀리 초 동안의 릴리스 작업을 지연할지 여부입니다. 경합 조건으로 인해 다른 노드에서 동일한 파일을 스캔하고 얻을 수 없도록 공유 idempotent 리포지토리가 있는 활성/활성 클러스터 시나리오에서 파일을 읽기 잠금으로 간주할 때 릴리스 작업을 지연하는 데 사용할 수 있습니다. 릴리스 작업의 시간 단축을 확장하여 이러한 상황을 방지하는 데 도움이 됩니다. 참고 지연은 readLockRemoveOnCommit을 true로 구성한 경우에만 필요합니다.

 

int

readLockIdempotentRelease ExecutorService (lock)

비동기 릴리스 작업에 사용자 지정 및 공유 스레드 풀을 사용하려면 다음을 수행합니다. 자세한 내용은 readLockIdempotentReleaseDelay 옵션을 참조하십시오.

 

ScheduledExecutor 서비스

readLockLoggingLevel (lock)

읽기 잠금을 얻을 수 없을 때 사용되는 로깅 수준입니다. 기본적으로 WARN은 기록됩니다. 예를 들어 로깅이 없는 상태로 이 수준을 변경할 수 있습니다. 이 옵션은 변경된 유형( changed, fileLock, idempotent, idempotent-changed, idempotent-rename, rename)의 readLock에만 적용됩니다.

DEBUG

LoggingLevel

readLockMarkerFile (lock)

변경, 이름 변경 또는 배타적 읽기 잠금 유형과 함께 마커 파일을 사용할지 여부입니다. 기본적으로 마커 파일은 동일한 파일을 가져오는 다른 프로세스를 보호하는 데 사용됩니다. 이 옵션을 false로 설정하여 이 동작을 해제할 수 있습니다. 예를 들어 Camel 애플리케이션을 통해 마커 파일을 파일 시스템에 작성하지 않으려면 다음을 수행합니다.

true

boolean

readLockMinAge (lock)

이 옵션은 readLock=changed에만 적용됩니다. 읽기 잠금을 얻기 전에 파일이 있어야 하는 최소 기간을 지정할 수 있습니다. 예를 들어 readLockMinAge=300s를 사용하여 파일이 마지막 5분 동안 경과되도록 합니다. 이렇게 하면 변경된 읽기 잠금의 속도가 빨라질 수 있습니다. 이 잠금은 최소 지정된 기간의 파일만 가져오려고 시도하므로 속도가 향상될 수 있습니다.

0

long

readLockMinLength (lock)

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

1

long

readLockRemoveOnCommit (lock)

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

false

boolean

readLockRemoveOnRollback (lock)

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

true

boolean

readLockTimeout (lock)

read-lock에서 지원하는 경우 읽기 잠금에 대한 선택적 시간 초과입니다. read-lock을 부여할 수 없고 시간 초과가 트리거되면 Camel에서 파일을 건너뜁니다. 다음 폴링 Camel에서 파일을 다시 시도하므로 이번에는 읽기 잠금이 허용될 수 있습니다. 영구적으로 나타내려면 0 또는 lower 값을 사용합니다. 현재 fileLock, 변경된 및 이름이 시간 초과를 지원합니다. 참고: FTP의 경우 기본 readLockTimeout 값은 10000 대신 20000입니다. readLockTimeout 값은 readLockCheckInterval보다 커야 하지만, 엄지엄한 규칙은 시간 초과가 readLockCheckInterval보다 2배 이상 높은 시간을 갖는 것입니다. 이는 읽기 잠금 프로세스가 시간 초과에 도달하기 전에 잠금을 취득할 수 있도록 하는 데 필요합니다.

10000

long

backoffErrorThreshold (scheduler)

백오프Multipler를 시작하기 전에 수행해야 하는 후속 오류 폴링(일부 오류로 인해 실패)의 수입니다.

 

int

backoffIdleThreshold (scheduler)

backoffMultipler가 시작되기 전에 수행해야 하는 후속 유휴 폴링의 수입니다.

 

int

backoffMultiplier (scheduler)

행에 후속 유휴/errors가 있는 경우 예약된 폴링 소비자 백오프를 허용하려면 다음을 수행합니다. 그러면 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션이 사용 중인 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다.

 

int

지연 (scheduler)

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

500

long

greedy (scheduler)

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

false

boolean

initialDelay (scheduler)

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

1000

long

runLoggingLevel (scheduler)

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

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자에는 자체 단일 스레드 스레드 풀이 있습니다.By default, each consumer has its own single threaded thread pool. 이 옵션을 사용하면 여러 소비자 간에 스레드 풀을 공유할 수 있습니다.

 

ScheduledExecutor 서비스

scheduler (scheduler)

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

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

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

 

map

startScheduler (scheduler)

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

true

boolean

timeUnit (scheduler)

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

밀리초

TimeUnit

useFixedDelay (scheduler)

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

true

boolean

shuffle (sort)

파일 목록을 축소하려면(랜덤 순서로 정렬)

false

boolean

정렬 기준 (sort)

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

 

문자열

Sorter (sort)

java.util.Comparator 클래스로 Pluggable sorter입니다.

 

비교자

작은 정보

파일 생산자에 대한 기본 동작은 기본적으로 동일한 이름의 경우 기존 파일을 재정의합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.