中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Cloud Stream怎么使用

發布時間:2021-12-07 14:26:26 來源:億速云 閱讀:130 作者:iii 欄目:大數據

這篇文章主要講解了“Spring Cloud Stream怎么使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Spring Cloud Stream怎么使用”吧!

Spring Cloud Stream是一個構建消息驅動的微服務框架。它構建在Spring Boot之上用以創建工業級的應用程序,并且通過Spring Integration提供了和消息代理的連接。Spring Cloud Stream為一些供應商的消息中間件產品提供了個性化的自動化配置實現(目前僅支持RabbitMQ和Kafka),同時引入了發布訂閱、消費組和分區的語義概念。

創建工程

首先我們創建一個普通的Spring Boot工程,名為stream-hello,然后添加如下依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>

spring-cloud-starter-stream-rabbit依賴是Spring Cloud Stream對RabbitMQ的封裝,這里邊也包含了對RabbitMQ的自動化配置,比如連接的RabbitMQ的默認地址就是localhost,默認端口就是5672,默認用戶名是guest,默認密碼也是guest,由于我們的RabbitMQ都是采用了默認配置,所以這里的配置可以不去修改,一樣也可以運行。

創建接收器

然后創建一個名為SinkReceiver的類,用來接收RabbitMQ發送來的消息,如下:

@EnableBinding(Sink.class)
public class SinkReceiver {
    private static Logger logger = LoggerFactory.getLogger(StreamHelloApplication.class);
    @StreamListener(Sink.INPUT)
    public void receive(Object playload) {
        logger.info("Received:"+playload);
    }
}

這里我們首先使用了@EnableBinding注解實現對消息通道的綁定,我們在該注解中還傳入了一個參數Sink.class,Sink是一個接口,該接口是Spring Cloud Stream中默認實現的對輸入消息通道綁定的定義。然后我們在SinkReceiver類中定義了receive方法,并在該方法上添加了@StreamListener注解,該注解表示該方法為消息中間件上數據流的事件監聽器,Sink.INPUT參數表示這是input消息通道上的監聽處理器。

測試

Ok,做好上面的操作之后,我們就可以啟動我們的項目了,在項目的啟動日志中,我們可以看到如下內容:

Spring Cloud Stream怎么使用  

這個表示我們的工程已經通過guest用戶創建了一個指向RabbitMQ的連接。此時,在瀏覽器中打開RabbitMQ的管理頁面,一樣也可以看到連接,如下:

Spring Cloud Stream怎么使用  

圖中紅線部分就是我們新建的隊列,點擊該隊列,找到Publish message選項,我們可以從這里給我們的項目發送一條消息,如下:

Spring Cloud Stream怎么使用  

此時我們可以在項目的控制臺中看到消息已經收到了,如下:

Spring Cloud Stream怎么使用  

只是消息沒有序列化而已。

感謝各位的閱讀,以上就是“Spring Cloud Stream怎么使用”的內容了,經過本文的學習后,相信大家對Spring Cloud Stream怎么使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五家渠市| 固原市| 利川市| 历史| 神木县| 西昌市| 海晏县| 习水县| 田阳县| 淳安县| 崇礼县| 新丰县| 林西县| 石渠县| 含山县| 通海县| 微博| 怀集县| 曲麻莱县| 都安| 南汇区| 田东县| 客服| 太原市| 苗栗市| 翼城县| 黑河市| 鲜城| 定边县| 恩平市| 尚义县| 黄浦区| 张北县| 临夏县| 十堰市| 开化县| 渭源县| 景德镇市| 郑州市| 游戏| 通榆县|