생성된 프로젝트에는 다양한 스프링 종속성을 관리하는 스프링 부팅 스타터가 포함되어 있습니다. 컨테이너 팩터리의 모든 수신기에 사용할 전역 오류 처리기를 지정할 수 있습니다. 다음 예제에서는 이렇게 하는 방법을 보여 주며: 버전 2.2.5부터 DefaultAfterRollbackProcessor를 새 트랜잭션에서 호출할 수 있습니다(실패한 트랜잭션롤백 후 시작). 그런 다음 DeadLetterPublishingRecoverer를 사용하여 실패한 레코드를 게시하는 경우 프로세서는 원래 토픽/파티션에서 복구된 레코드의 오프셋을 트랜잭션으로 보냅니다. 이 기능을 사용하려면 기본 후롤백 프로세서에서 프로세스인트랜잭션 및 카프카템플릿 속성을 설정합니다. 우리의 예제 응용 프로그램은 스프링 부팅 응용 프로그램입니다. 예를 들어 @KafkaListener 컨테이너 팩터리에서는 다음과 같이 SeekToCurrentErrorHandler를 추가할 수 있습니다. 이러한 콩을 봄 콩 공장에서 사용할 수 있게 되면 POJO 기반 소비자는 @KafkaListener 개의 부호를 사용하여 구성할 수 있습니다. 이 예제에서는 송신해야 하는 String 페이로드를 입력으로 사용하는 send() 메서드를 사용합니다. 아웃바운드 채널 어댑터는 스프링 통합 채널의 메시지를 카프카 토픽에 게시하는 데 사용됩니다. 채널은 응용 프로그램 컨텍스트에서 정의된 다음 Kafka로 메시지를 보내는 응용 프로그램에 연결됩니다. 보낸 사람의 응용 프로그램은 다음과 같이 아웃바운드 채널 어댑터에 의해 내부적으로 카프카 메시지로 변환되는 스프링 통합 메시지를 사용하여 카프카에 게시할 수 있습니다.

스프링 카프카 의 버전은 사용되는 아파치 카프카 클라이언트의 버전에 연결되어 있습니다. 당신은 당신이 에 연결하는 카프카 브로커의 버전에 봄 카프카의 버전을 정렬해야합니다. 자세한 내용은 전체 Kafka 클라이언트 호환성 목록을 참조하십시오. 이 예제는 간단한 문자열을 보내고 받을 것입니다. 예를 들어, 아브로 카프카 직렬화기 또는 스프링 카프카와 함께 제공되는 카프카 Jsonserializer를 사용하여 더 복잡한 개체를 보내려면. 우리는 메이븐을 사용하여 예제를 빌드하고 실행합니다. 아직 완료되지 않은 경우, 다운로드 아파치 메이븐을 설치합니다. 송신 메서드는 listenableFuture 반환합니다. 수신기에 콜백을 등록하여 비동기적으로 전송 결과를 받을 수 있습니다. 다음 예제에서는 패턴이 다소 간단하고 선행 와일드카드(예: .cat.*)를 포함할 수 있습니다. 선행!을 사용하면 패턴을 무효화할 수 있습니다. 헤더 이름과 일치하는 첫 번째 패턴(양수 또는 음수)이 승리합니다.

다음 예제에서는 @KafkaListener 대해 idleEventInterval를 설정하는 방법을 보여 주었습니다. Kafka의 작동 방식을 좀 더 자세히 탐색 할 수 있도록 아래코드 변형이 있는 이 가이드가 유용하다는 것을 알게 되기를 바랍니다. 홈 » 봄 프레임 워크 » 봄 카프카 » 봄 카프카 – 소비자와 생산자 예이 튜토리얼은 봄 카프카에서 메시지를 보내고받는 방법을 보여줍니다. 먼저 카프카 토픽에 메시지를 보낼 수 있는 스프링 카프카 프로듀서를 만듭니다. 다음으로 우리는 카프카 주제로 보내는 메시지를들을 수있는 봄 카프카 소비자를 만듭니다. 적절한 키/값 직렬화기와 디직직렬화기를 모두 구성합니다. 마지막으로 간단한 Spring Boot 응용 프로그램을 사용하여 응용 프로그램을 시연합니다. 버전 2.2부터 템플릿은 구성된 회신 컨테이너에서 회신 토픽 또는 파티션을 검색하려고 시도합니다.