211.7. LevelDB

Camel 2.10에서 사용 가능

LevelDB 는 매우 가볍고 임베드 가능한 키 값 데이터베이스입니다. Camel과 함께 Aggregator와 같은 다양한 Camel 기능에 대한 지속적인 지원을 제공할 수 있습니다.

제공하는 현재 기능:

  • LevelDBAggregationRepository

211.7.1. Using LevelDBAggregationRepository

LevelDBAggregationRepository 은 집계된 메시지를 즉시 유지하는 AggregationRepository 입니다. 이렇게 하면 기본 집계기에서 메모리에서만 AggregationRepository 을 사용하므로 메시지가 느슨하지 않습니다.

여기에는 다음과 같은 옵션이 있습니다.

옵션유형설명

repositoryName

문자열

필수 리포지토리 이름입니다. 여러 리포지토리에 공유 수준DBFile 을 사용할 수 있습니다.

persistentFileName

문자열

영구 스토리지의 파일 이름입니다. 시작 시 파일이 없는 경우 새 파일이 생성됩니다.

levelDBFile

LevelDBFile

기존 구성된 org.apache.camel.component.leveldb.LevelDBFile 인스턴스를 사용합니다.

sync

boolean

Camel 2.12: LevelDBFile이 쓰기 시 동기화되어야 하는지 여부입니다. 기본값은 false입니다. 쓰기 시 동기화를 사용하면 모든 쓰기가 디스크에 스풀링될 때까지 항상 대기하므로 업데이트가 손실되지 않습니다. 비동기 vs 동기화 쓰기에 대한 자세한 내용은 수준DB 문서 를 참조하십시오.

returnOldExchange

boolean

get 작업에서 기존 Exchange가 존재하는 경우 반환되어야 하는지 여부입니다. 기본적으로 이 옵션은 집계 시 이전 교환이 필요하지 않으므로 최적화하려면 false 입니다.

useRecovery

boolean

복구 활성화 여부입니다. 이 옵션은 기본적으로 true 입니다. Camel 집계 자동 복구를 활성화하면 집계된 Exchange가 실패한 후 다시 제출할 수 있습니다.

recoveryInterval

long

복구가 활성화되면 xth 때마다 백그라운드 작업이 실행되어 복구 및 다시 제출하기 위해 실패한 Exchange를 스캔합니다. 기본적으로 이 간격은 5000밀리코어입니다.

maximumRedeliveries

int

복구된 교환에 대한 최대 재전송 시도 횟수를 제한할 수 있습니다. 이 기능을 활성화하면 모든 재전송 시도가 실패한 경우 Exchange가 dead letter 채널로 이동됩니다. 기본적으로 이 옵션은 비활성화되어 있습니다. 이 옵션을 사용하는 경우 deadLetterUri 옵션도 제공해야 합니다.

deadLetterUri

문자열

복구된 Exchange가 이동되는 Dead Letter 채널의 끝점 URI입니다. 이 옵션을 사용하는 경우 maximumRedeliveries 옵션도 제공해야 합니다.

repositoryName 옵션을 제공해야 합니다. 그런 다음 persistentFileName 또는 levelDBFile 을 제공해야 합니다.