2017-05-18 13 views
0

메시지를 직렬화하기 전에 차단하려고합니다. ProducerInterceptor라는 인터페이스가 이미 있으므로 레코드를 수정하는 데 사용할 수 있습니다. 해당 인터페이스를 구현하고 데이터를 수정 한 클래스를 만든 후에는 새 클래스를 넣어야 할 필요가있는 일부 파일을 수정해야합니까?ProducerInterceptor 추가 - Kafka

답변

1

KafkaProducer 개체를 만드는 동안 속성에 전달합니다. 9092 interceptor.classes = org.apache.kafka : 나는 그런 식으로 속성을 넣어

Properties producerProps = new Properties(); 
producerProps.put(ProducerConfig.INTERCEPTOR_CLASSES_CONFIG, "fully qualified name of your interceptor class"); 
//... add other properties 
KafkaProducer<String,String> kProd = new KafkaProducer<>(producerProps); 
+0

하더라도 내가 --producer-소품 bootstrap.servers = localhost를 '이 추가 명령을 넣을 때, 인터셉터 만 표시됩니다 .clients.producer.MyInterceptor acks = all'입니다. 또한 producerRecord에 값을 어떻게 추가 할 수 있습니까? – Tortxu13

+0

간단합니다. javadoc - https://kafka.apache.org/0102/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html을 참조하십시오. – Abhishek