springboot整合整合kafka-生產者監聽器ProducerListener
寫在前面:各位看到此部落格的小夥伴,如有不對的地方請及時通過私信我或者評論此部落格的方式指出,以免誤人子弟。多謝!
補充一個簡單的東西,生產者監聽器,生產者監聽器ProducerListener與帶回撥的kafkatemplate實現類似的功能,或者說是它的一個補充,實現生產者監聽器也很簡單,只要實現ProducerListener介面,重寫onSuccess和onError方法即可,從方法名可看出,onSuccess是訊息傳送成功後執行的方法,onError是訊息傳送失敗後執行的方法,可以在監聽器中進行訊息傳送後進一步的處理,貼下程式碼:
@Component
public class CustomProducerListener implements ProducerListener<String, String> {
/**
* 成功回撥
*/
@Override
public void onSuccess(ProducerRecord<String, String> producerRecord,
RecordMetadata recordMetadata) {
System.out.println("推送成功,推送資料:" + producerRecord.value());
}
/**
* 失敗回撥
*/
@Override
public void onError(ProducerRecord<String, String> producerRecord, Exception exception) {
System.out.println("推送失敗,推送資料:" + producerRecord.value() + ",失敗原因:" + exception.getMessage());
}
}
我本想在KafkaProducerConfig類中producerConfigs方法中追加配置監聽器的類,但是找了下ProducerConfig類中沒有監聽器的引數,而kafkaTemplate中有setProducerListener方法可以設定監聽器,新增測試方法,並可以像下面這樣配置監聽器:
@GetMapping("/send6")
public String send6(String message) {
kafkaTemplate.setProducerListener(producerListener);
kafkaTemplate.send(topic, message);
return "success";
}
啟動專案,訪問http://localhost:8080/send6?message=test6 結果如下:
可看到列印了 “推送成功,推送資料:test6” ,配置的監聽器生效了。
到目前為止,通過前幾篇的學習記錄,我們可以收發訊息,訊息傳送到指定分割槽,接收指定分割槽的訊息,對傳送的資訊做過濾 對收到的資訊做處理,其它更多的功能感覺學起來也挺費勁,暫時先不更了,先去學習下kafka的基本知識,再繼續完善整合springboot相關的文章,順便推薦一本書,是我準備學習kafka後從網上找了很久才找到的,看目錄反正是挺詳細的,書名:《深入理解Kafka_核心設計與實踐原理》
相關文章
- SpringBoot整合Kafka(生產者和消費者都是SpringBoot服務)Spring BootKafka
- SpringBoot系列之整合阿里canal監聽MySQL BinlogSpring Boot阿里MySql
- spring 整合kafka監聽消費SpringKafka
- SpringBoot整合Actuator進行健康監控Spring Boot
- SpringBoot整合阿里巴巴Druid監控Spring Boot阿里UI
- SpringBoot整合系列-整合JPASpring Boot
- Springboot中自定義監聽器Spring Boot
- SpringBoot 攔截器、過濾器、監聽器Spring Boot過濾器
- 【springboot】學習4:整合JDBC、整合druid、整合mybatis、整合 SpringSecuritySpring BootJDBCUIMyBatisGse
- SpringBoot事件監聽器原始碼分析Spring Boot事件原始碼
- SpringBoot整合系列–整合MyBatis-plusSpring BootMyBatis
- SpringBoot整合系列-整合H2Spring Boot
- springboot事件監聽Spring Boot事件
- SpringBoot 整合 rabbitmqSpring BootMQ
- SpringBoot 整合 apolloSpring Boot
- SpringBoot 整合 elkSpring Boot
- SpringBoot 整合 elasticsearchSpring BootElasticsearch
- SpringBoot整合elasticsearchSpring BootElasticsearch
- RocketMQ整合SpringBootMQSpring Boot
- springboot整合redis?Spring BootRedis
- SpringBoot整合MinIOSpring Boot
- Springboot整合pagehelperSpring Boot
- ElasticSearch 整合 SpringBootElasticsearchSpring Boot
- springboot 整合LogBackSpring Boot
- SpringBoot整合ESSpring Boot
- springBoot 整合 mybatisSpring BootMyBatis
- SpringBoot整合NacosSpring Boot
- SpringBoot 整合 RedisSpring BootRedis
- SpringBoot整合DubboSpring Boot
- springboot 整合jeagerSpring Boot
- 【SpringBoot】整合RedisSpring BootRedis
- Springboot整合MybatisSpring BootMyBatis
- SpringBoot整合SwaggerSpring BootSwagger
- SpringBoot 整合 dockerSpring BootDocker
- flowable 整合 springbootSpring Boot
- Springboot整合RabbitMQSpring BootMQ
- springBoot整合flowableSpring Boot
- Springboot整合MyabitsSpring Boot