128.6. HawtDB
Camel 2.3 사용
HawtDB 는 매우 가볍고 임베드 가능한 키 값 데이터베이스입니다. Camel과 함께 Aggregator와 같은 다양한 Camel 기능에 대한 지속적인 지원을 제공할 수 있습니다.
deprecated
HawtDB 프로젝트는 더 이상 사용되지 않으며, 구성 가능한 경량 키 값 데이터베이스로 leveldb 로 교체되고 있습니다. leveldb를 사용하기 쉽게 하려면 leveldbjni 프로젝트가 있습니다. Apache ActiveMQ 프로젝트는 향후 기본 파일 기반 메시지 저장소로 leveldb를 사용하여 kahadb를 교체할 계획입니다.
이 대신 사용할 것을 권장 하는 camel-leveldb 구성 요소가 있습니다.
HawtDB 1.4 이상
HawtDB 1.4 또는 그 이전 버전에서는 filestore가 사용되지 않는 공간을 확보하지 않음을 의미합니다. 즉, 파일이 계속 증가합니다. 이 문제는 Camel 2.5 이상과 함께 제공되는 HawtDB 1.5에서 해결되었습니다.
제공하는 현재 기능:
- HawtDBAggregationRepository
128.6.1. Using HawtDBAggregationRepository
HawtDBAggregationRepository
은 즉시 집계된 메시지를 유지하는 AggregationRepository
입니다. 이렇게 하면 기본 집계기에서 메모리에서만 AggregationRepository
을 사용하므로 메시지가 느슨하지 않습니다.
여기에는 다음과 같은 옵션이 있습니다.
옵션 | 유형 | 설명 |
---|---|---|
| 문자열 |
필수 리포지토리 이름입니다. 공유 |
| 문자열 | 영구 스토리지의 파일 이름입니다. 시작 시 파일이 없는 경우 새 파일이 생성됩니다. |
| int | 파일 저장소에 매핑되는 메모리 세그먼트 버퍼의 크기입니다. 기본값은 8mb입니다. 값은 바이트 단위입니다. |
| boolean |
|
| short | 메모리 페이지 크기. 기본적으로 512바이트입니다. 값은 바이트 단위입니다. |
| HawtDBFile |
기존 구성된 |
| boolean |
get 작업에서 기존 Exchange가 존재하는 경우 반환되어야 하는지 여부입니다. 기본적으로 이 옵션은 집계 시 이전 교환이 필요하지 않으므로 최적화하려면 |
| boolean |
복구 활성화 여부입니다. 이 옵션은 기본적으로 |
| long | 복구가 활성화되면 xth 때마다 백그라운드 작업이 실행되어 복구 및 다시 제출하기 위해 실패한 Exchange를 스캔합니다. 기본적으로 이 간격은 5000밀리코어입니다. |
| int |
복구된 교환에 대한 최대 재전송 시도 횟수를 제한할 수 있습니다. 이 기능을 활성화하면 모든 재전송 시도가 실패한 경우 Exchange가 dead letter 채널로 이동됩니다. 기본적으로 이 옵션은 비활성화되어 있습니다. 이 옵션을 사용하는 경우 |
| 문자열 |
복구된 Exchange가 이동되는 Dead Letter 채널의 끝점 URI입니다. 이 옵션을 사용하는 경우 |
|
| Camel 2.12: 최적 잠금을 켜려면 여러 Camel 애플리케이션이 동일한 HawtDB 기반 집계 리포지토리를 공유하는 클러스터된 환경에서 종종 필요합니다. |
repositoryName
옵션을 제공해야 합니다. 그런 다음 persistentFileName
또는 hawtDBFile
을 제공해야 합니다.