(二)Kafka学习笔记(p13-p23)
(一)拦截器
生产者(Producer)拦截器(Interceptor)和消费者的拦截器是在kafka0.10版本引入的,主要用于clients端的定制化控制逻辑。
使用场景:
(1)按照某个规则过滤掉不符合要求的消息
(2)修改消息内容
(3)统计类需求
我们要实现接口ProducerInteceptor<K,V> extends Configurable
要实现 onSend方法,onAcknowledgement方法,close方法。
自定义拦截器
public class ProducerInterceptorPrefix implements ProducerRecord<String,String>
{
private volatile long sendSuccess=0;
private volatile long sendFailure=0;
@Override
public ProducerRecord<String,String> onSend(ProducerRecord<String,String> record){
String modifiedValue="prefix1-"+record.value();
return new ProducerRecord