213.8.3. 복구
LevelDBAggregationRepository
은 기본적으로 실패한 Exchange를 복구합니다. 이는 영구 저장소에서 실패한 Exchange를 검사하는 백그라운드 작업을 통해 이 작업을 수행합니다. checkInterval
옵션을 사용하여 이 작업이 실행되는 빈도를 설정할 수 있습니다. 이 복구 작업은 Camel이 실패한 Exchange를 복구하고 재전송할 수 있도록 하는 트랜잭션으로 작동합니다. 복구된 모든 교환은 영구 저장소에서 복원되고 다시 제출되고 다시 전송됩니다.
다음 헤더는 Exchange가 복구/배송될 때 설정됩니다.
header | 유형 | 설명 |
---|---|---|
| 부울 | 교환이 재전송됨을 나타내기 위해 true로 설정됩니다. |
| 정수 | 재전송 시도는 1부터 시작합니다. |
Exchange가 성공적으로 처리된 경우에만 확인
메서드가 AggregationRepository
에서 호출될 때 발생하는 complete로 표시됩니다. 즉, 동일한 Exchange가 다시 실패하면 성공할 때까지 계속 재시도됩니다.
옵션 maximumRedeliveries
를 사용하여 지정된 복구 Exchange에 대한 최대 재전송 시도 횟수를 제한할 수 있습니다. 또한 Camel이 maximumRedeliveries
가 발생할 때 Exchange를 보내야 하는 위치를 알 수 있도록 deadLetterUri
옵션을 설정해야 합니다.
camel-leveldb 단위 테스트에서 몇 가지 예를 볼 수 있습니다(예: 이 테스트 ).
213.8.3.1. Java DSL에서 LevelDBAggregationRepository 사용
이 예제에서는 target/data/leveldb.dat
파일에 집계된 메시지를 유지하려고 합니다.