spring-cloud-stream結合kafka使用詳解
更新時間:2020年08月19日 10:57:16 作者:KyleYaoKeepGoing
這篇文章主要介紹了spring-cloud-stream結合kafka使用詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
1.pom文件導入依賴
<!-- kafka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-stream-binder-kafka</artifactId> </dependency>
2.application.yml文件配置
spring: cloud: stream: kafka: binder: brokers: xxx.xxx.xxx.xx:xxxx // Kafka的消息中間件服務器地址 bindings: xxx_output: // 通道名稱 destination: xxx // 消息發(fā)往的目的地,對應topic 在發(fā)送消息的配置里面,group是不用配置的 // 如果我們需要傳輸json的信息,那么在發(fā)送消息端需要設置content-type為json(其實可以不寫,默認content-type就是json) xxx_input: destination: xxx // 消息發(fā)往的目的地,對應topic group: xxx // 對應kafka的group
3.創(chuàng)建消息發(fā)送者
@EnableBinding(Source.class) // @EnableBinding 是綁定通道的,Soure.class是spring 提供的,表示這是一個可綁定的發(fā)布通道 @Service public class MqService { @Resource(name = KafkaConstants.OES_WORKBENCH_LIFE_DATA_OUTPUT) private MessageChannel oesWorkbenchChannel; /** * 發(fā)送一條kafka消息 */ public boolean sendLifeData(Object object) { return MqUtils.send(oesWorkbenchChannel, object, KafkaConstants.OES_WORKBENCH_LIFE_DATA_OUTPUT); } } // 發(fā)布通道 public interface Source { @Output(KafkaConstants.OES_WORKBENCH_LIFE_DATA_OUTPUT) MessageChannel oesWorkbenchLifeDataOutput(); // 發(fā)布通道用MessageChannel }
4.創(chuàng)建消息監(jiān)聽者
@Slf4j @EnableBinding(Sink.class) public class WorkbenchStreamListener { @Resource private FileService fileService; @StreamListener(KafkaConstants.xxx_input) // 監(jiān)聽接受通道 public void receiveData(MoveMessage moveMessage) { } } // 接受通道 public interface Sink { @Input(KafkaConstants.OES_WORKBENCH_MOVE_INPUT) SubscribableChannel oesWorkbenchMoveInput(); // 接受通道用SubscribableChannel }
接下來就可以愉快的發(fā)送監(jiān)聽消息了
到此這篇關于spring-cloud-stream結合kafka使用詳解的文章就介紹到這了,更多相關spring-cloud-stream整合kafka內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot集成Spring Data JPA及讀寫分離
這篇文章主要介紹了SpringBoot集成Spring Data JPA及讀寫分離的相關知識,需要的朋友可以參考下2017-04-04淺談mybatis中的#和$的區(qū)別 以及防止sql注入的方法
下面小編就為大家?guī)硪黄獪\談mybatis中的#和$的區(qū)別 以及防止sql注入的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10java中BeanUtils.copyProperties的用法(超詳細)
本文介紹了BeanUtils.copyProperties()方法的使用,包括其功能、用法、注意事項和示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng)
最近想做一個關于文件上傳的個人小網(wǎng)盤,一開始嘗試使用了OSS的方案,但是該方案對于大文件來說并不友好,所以開始嘗試分片上傳方案的探索,接下來小編給大家詳細的介紹一下如何基于SpringBoot和Vue實現(xiàn)分片上傳系統(tǒng),需要的朋友可以參考下2023-12-12