搜索
简帛阁>技术文章>kafka生产者发送消息成功回调

kafka生产者发送消息成功回调

kafka生产者发送消息成功回调

  • 添加成功回调类
  • 生产者代码添加成功回调类
  • 其他步骤

添加成功回调类

@Component
public class KafkaSendResultHandler implements ProducerListener {<!-- -->

    private static final Logger log = LoggerFactory.getLogger(KafkaSendResultHandler.class);

    /**
     * kafka发送成功回调
     * @param producerRecord
     * @param recordMetadata
     */
    @Override
    public void onSuccess(ProducerRecord producerRecord, RecordMetadata recordMetadata) {<!-- -->
        String key = producerRecord.key().toString();
        String topic = producerRecord.topic();
        log.info("key:{},topic:{}, 发送成功回调",key,topic);
    }

    @Override
    public void onError(ProducerRecord producerRecord, Exception exception) {<!-- -->
		String key = producerRecord.key().toString();
        String topic = producerRecord.topic();
        log.info("key:{},topic:{}, 发送异常回调",key,topic);
    }
}

生产者代码添加成功回调类

@Component
public class SendKafka{<!-- -->
	//添加上面的KafkaSendResultHandler类
	@Autowired
    private KafkaSendResultHandler producerListener;
	
	@Autowired
    private KafkaTemplate<String, String> kafkaTemplate;
	
	public void sendKafka(){<!-- -->
        try {<!-- -->
			//发送消息前配置回调
            kafkaTemplate.setProducerListener(producerListener);
			//发送消息 testtopic为topic主题,testkey为key键,测试值为传的内容
			kafkaTemplate.send("testtopic","testkey","测试值").get();	//发送消息改为同步添加.get()
        } catch (Exception e) {<!-- -->
            e.printStackTrace();
            log.error("{}",e);
        }
    }
}

其他步骤

  1. kafka服务自带zookeeper下载与启动
  2. Spring boot配置kafka服务
  3. kafka生产者发送消息成功回调
  4. kafka根据ip端口获取消息队列上的topic
  5. kafka动态设置监听哪些topic
  6. 动态启动关闭kafka监听、设置默认不监听kafka
  7. kafka设置:1只接受消息、不发送消息;2只发送消息不接受消息;3既接受消息也发送消息;4既不接收消息也不发送消息
  8. kafka会把历史数据都获取下来
  9. Spring boot kafka执行多次多次消费
kafka生产者发送消息成功添加成功回调类生产者代码添加成功回调类其他步骤添加成功回调类@ComponentpublicclassKafkaSendResultHandlerimplements
Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量、灵活的offset是其它消息系统所没有的。Kafka发送消息主要有三种方式:1发送并忘记2同步发送3异步发送+调函数下面以单节点的方式
2019独角兽企业重金招聘Python工程师标准>>>Kafka版本01011producer发送消息后出现如下错误消息:Theproducerhasaerror:Expiring1record(s
1简单流程概述A流程描述aproducer先从zookeeper的"/brokers//state"节点找到该partition的leaderbproducer将消息发送给该leadercleader
Kafka消息重新发送1、使用kafka消息队列做消息的发布、订阅,如果consumer端消费出问题,导致数据并没有消费,此时不需要担心,数据并不会立刻丢失,kafka会把数据在服务器的磁盘上默认存储
1简单流程概述A流程描述aproducer先从zookeeper的"/brokers//state"节点找到该partition的leaderbproducer将消息发送给该leadercleader
问题描述使用kafka发送消息直接卡死无响应,一段时间后显示超时错误,进过如下解决方案:vimserver。properties取消注释,ip地址为提供kafka服务的iplistenersPLAI
前言hello,小伙伴们,王子又来和大家研究RocketMQ的原理了,之前的文章RocketMQ生产部署架构如何设计中,我们已经简单的聊过了生产者是如何发送消息给Broker的。我们简单回顾一下这个过
kafaka,生产者:/kafkaconsoleproducershbrokerlistlocalhost:9092topictestTopic消费者:/kafkaconsoleconsumersh
一、消息发送11数据生产流程数据生产流程图解:Producer创建时,会创建⼀个Sender线程并设置为守护线程⽣产消息时,内部其实是异步流程;⽣产的消息先经过拦截器>序列化器>分区器,