190.9. Kafka 헤더 전파

Camel 2.22 사용

Kafka에서 메시지를 사용할 때 헤더가 camel exchange 헤더로 자동 전파됩니다. 동일한 동작의 생성 흐름 - 특정 교환의 camel 헤더가 kafka 메시지 헤더로 전파됩니다.

kafka 헤더는 바이트[] 값만 허용하므로 해당 값을 전파하기 위해 해당 값을 bytes[] 로 직렬화해야 합니다. 그러지 않으면 헤더를 건너뜁니다. 다음 헤더 값 유형이 지원됩니다. 문자열 Integer,Long,Double,Boolean,byte[]. 참고: kafka 에서 camel exchange 전파되는 모든 헤더에는 기본적으로 바이트[] 값이 포함됩니다. 기본 기능 URI 매개변수를 재정의하기 위해 라우팅의 경로 및 kafkaHeaderSerializerkafkaHeaderDeserializer 의 kafkaHeaderDeserializer를 설정 수 있습니다. 예제:

from("kafka:my_topic?kafkaHeaderDeserializer=#myDeserializer")
...
.to("kafka:my_topic?kafkaHeaderSerializer=#mySerializer")

기본적으로 모든 헤더는 KafkaHeaderFilterStrategy 에 의해 필터링됩니다. 전략은 Camel 또는 org.apache.camel 접두사로 시작하는 헤더를 필터링합니다. 기본 전략은 경로 간 및 경로 모두 에서 headerFilterStrategy uri 매개변수를 사용하여 재정의 수 있습니다.

from("kafka:my_topic?headerFilterStrategy=#myStrategy")
...
.to("kafka:my_topic?headerFilterStrategy=#myStrategy")

myStrategy 오브젝트는 HeaderFilterStrategy 의 하위 클래스여야 하며 Camel 레지스트리에 있어야 하며 Camel 레지스트리에서 CamelContext 인식이므로 수동으로 또는 Spring/Blueprint의 빈으로 등록하여 배치해야 합니다.