1.4. 연결 내에서 오류 처리
이벤트 데이터를 보내거나 수신할 때 통합 실행 중 오류가 발생하는 경우 Camel K Operator에서 수행해야 하는 작업을 지정하려면 Kamelet Binding에 다음 오류 처리 정책 중 하나를 추가할 수 있습니다.
- 오류 처리기 없음 - 통합에서 발생하는 오류를 무시합니다.
- 로그 오류 처리기 - 로그 메시지를 표준 출력에 보냅니다.
- dead letter channel error handler - 실패한 이벤트를 타사 URI, 큐 또는 실패한 이벤트로 특정 논리를 수행할 수 있는 다른 구성 요소로 리디렉션합니다. 또한 배달 못 한 끝점으로 보내기 전에 메시지 교환을 여러 번 다시 전달하려는 시도를 지원합니다.
- 빈 빈 오류 처리기 - 오류를 처리하기 위해 사용자 지정 빈을 사용하도록 지정합니다.
- ref error handler - 오류를 처리하기 위해 빈을 사용하도록 지정합니다. NetworkManager는 런타임 시 Camel 레지스트리에서 사용할 수 있어야 합니다.
1.4.1. Kamelet Binding에 오류 처리기 정책 추가 링크 복사링크가 클립보드에 복사되었습니다!
소스와 싱크 연결 간에 이벤트 데이터를 보내거나 수신할 때 오류를 처리하려면 Kamelet Binding에 오류 처리기 정책을 추가합니다.
사전 요구 사항
- 사용할 오류 처리기 정책의 유형을 알고 있습니다.
-
기존
KameletBindingYAML 파일이 있습니다.
절차
Kamelet Binding에서 오류 처리를 구현하려면 다음을 수행합니다.
-
편집기에서
KameletBindingYAML 파일을 엽니다. 싱크정의 후spec섹션에 오류 처리기 섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어
coffee-to-logKamelet Binding에서 로그 오류 처리기를 추가하여 오류가 로그 파일에 전송되는 최대 횟수를 지정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장합니다.
1.4.2. 오류 처리기 링크 복사링크가 클립보드에 복사되었습니다!
1.4.2.1. 오류 처리기 없음 링크 복사링크가 클립보드에 복사되었습니다!
통합에서 발생한 오류를 무시하려는 경우 Kamelet Binding에 errorHandler 섹션을 포함하거나 다음 예와 같이 none 으로 설정할 수 있습니다.
1.4.2.2. 로그 오류 처리기 링크 복사링크가 클립보드에 복사되었습니다!
오류를 처리하는 기본 동작은 로그 메시지를 표준 출력으로 보내는 것입니다. 선택적으로 로그 오류 처리기를 사용하여 다음 예와 같이 재전송 또는 지연 정책과 같은 다른 동작을 지정할 수 있습니다.
1.4.2.3. dead letter 채널 오류 처리기 링크 복사링크가 클립보드에 복사되었습니다!
Dead Letter 채널을 사용하면 다음 예와 같이 실패한 이벤트를 다른 구성 요소(예: 타사 URI, 큐 또는 다른 Kamelet)로 리디렉션할 수 있습니다.
-
끝점 의 경우
ref또는uri를 사용할 수 있습니다. Camel K Operator는종류,apiVersion및name값에 따라ref를 해석합니다. Kamelet, Kafka Topic 채널 또는 Knative 대상을 사용할 수 있습니다. -
엔드포인트에 속한 속성 (이 예에서는
error-handler라는 Kamelet에 대한 속성). - dead-letter-channel 오류 처리기 유형에 속하는 매개변수 입니다.
1.4.2.4. 빈 빈 오류 처리기 링크 복사링크가 클립보드에 복사되었습니다!
CloudEvent 오류 처리기를 사용하면 오류를 처리하는 사용자 지정 빈을 제공하여 Error Handler의 기능을 확장할 수 있습니다. 유형 의 경우 ErrorHandlerBuilder 의 정규화된 이름을 지정합니다. 속성의 경우 유형 에서 지정한 ErrorHandlerBuilder에서 예상하는 속성을 구성합니다.For properties, configure the properties expected by the ErrorHandlerBuilder that you specified in type.
1.4.2.5. ref 오류 처리기 링크 복사링크가 클립보드에 복사되었습니다!
Ref 오류 처리기를 사용하면 런타임 시 Camel 레지스트리에서 사용할 수 있을 것으로 예상되는 모든 빈을 사용할 수 있습니다. 다음 예제에서 my-custom-builder 는 런타임을 조회할 빈의 이름입니다.
또한 다음을 참조하십시오.