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
- 整合生產模式為何能比非整合生產模式更具有競爭力模式
- 【LISTENER】禁止產生監聽器日誌的方法
- SpringBoot整合系列-整合JPASpring Boot
- SpringBoot整合Actuator進行健康監控Spring Boot
- Springboot中自定義監聽器Spring Boot
- SpringBoot 攔截器、過濾器、監聽器Spring Boot過濾器
- 【springboot】學習4:整合JDBC、整合druid、整合mybatis、整合 SpringSecuritySpring BootJDBCUIMyBatisGse
- SpringBoot整合系列-整合H2Spring Boot
- SpringBoot整合系列–整合MyBatis-plusSpring BootMyBatis
- SpringBoot事件監聽器原始碼分析Spring Boot事件原始碼
- SpringBoot整合阿里巴巴Druid監控Spring Boot阿里UI
- springBoot的過濾器,監聽器,攔截器Spring Boot過濾器
- 實戰Spring4+ActiveMQ整合實現訊息佇列(生產者+消費者)SpringMQ佇列
- SpringBoot 整合 rabbitmqSpring BootMQ
- SpringBoot 整合 elkSpring Boot
- SpringBoot 整合 elasticsearchSpring BootElasticsearch
- SpringBoot 整合 apolloSpring Boot
- springboot整合redis?Spring BootRedis
- SpringBoot整合RedisSpring BootRedis
- flowable 整合 springbootSpring Boot
- SpringBoot整合MQTTSpring BootMQQT
- ElasticSearch 整合 SpringBootElasticsearchSpring Boot
- SpringBoot整合ESSpring Boot
- Springboot整合pagehelperSpring Boot
- springBoot整合thymeleafSpring Boot
- SpringBoot 整合 RedisSpring BootRedis
- SpringBoot整合NacosSpring Boot
- SpringBoot 整合 dockerSpring BootDocker
- Springboot整合RabbitMQSpring BootMQ
- springBoot整合flowableSpring Boot
- Springboot整合MyabitsSpring Boot
- springBoot 整合 mybatisSpring BootMyBatis
- SpringBoot整合elasticsearchSpring BootElasticsearch
- Springboot整合MybatisSpring BootMyBatis
- RocketMQ整合SpringBootMQSpring Boot