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內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot利用validation實現(xiàn)優(yōu)雅的校驗參數(shù)
數(shù)據(jù)的校驗是交互式網(wǎng)站一個不可或缺的功能,如果數(shù)據(jù)庫中出現(xiàn)一個非法的郵箱格式,會讓運維人員頭疼不已。本文將介紹如何利用validation來對數(shù)據(jù)進行校驗,感興趣的可以跟隨小編一起學習一下2022-06-06
J2EE Servlet基礎在瀏覽器上運行HelloServlet的方法
這篇文章主要介紹了J2EE Servlet基礎在瀏覽器上運行HelloServlet的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
java書店系統(tǒng)畢業(yè)設計 用戶模塊(3)
這篇文章主要介紹了java書店系統(tǒng)畢業(yè)設計,第三步系統(tǒng)總體設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10

