191.9. Kafka 헤더 전파
Camel 2.22에서 사용 가능
Kafka의 메시지를 사용하면 헤더가 camel exchange 헤더에 자동으로 전파됩니다. 동일한 동작으로 지원되는 흐름 생성 - 특정 교환의 camel 헤더는 kafka 메시지 헤더로 전파됩니다.
kafka 헤더는 byte[]
값만 허용하므로 camel exchnage 헤더를 전파하려면 값을 bytes[]
로 직렬화해야 합니다. 그렇지 않으면 헤더를 건너뜁니다. 지원되는 헤더 값 유형은 다음과 같습니다: string
,Integer
,Long
,double
,boolean
,byte[]
. 참고: kafka 에서 camel 교환으로 전달된 모든 헤더에는 기본적으로 byte[]
값이 포함됩니다. 기본 기능 uri 매개변수를 재정의하려면 라우팅 에서
kafkaHeaderDeserializer
및 kafkaHeaderSerializer
를 라우팅 할
수 있습니다. 예제:
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
의 하위 클래스여야 하며, CamelContext
를 인식하므로 수동으로 또는 Spring/Blueprint의 Cryostat로 등록하여 Camel 레지스트리에 배치해야 합니다.