W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Spring Cloud Stream還支持使用反應(yīng)式API,將傳入和傳出的數(shù)據(jù)作為連續(xù)的數(shù)據(jù)流進(jìn)行處理。可通過(guò)spring-cloud-stream-reactive
獲得對(duì)反應(yīng)式API的支持,需要將其顯式添加到您的項(xiàng)目中。
具有響應(yīng)式API的編程模型是聲明性的。您可以使用描述從入站數(shù)據(jù)流到出站數(shù)據(jù)流的功能轉(zhuǎn)換的運(yùn)算符,而不是指定每個(gè)消息的處理方式。
目前Spring Cloud Stream僅支持Reactor API。將來(lái),我們打算支持基于反應(yīng)式流的更通用的模型。
反應(yīng)式編程模型還使用@StreamListener
注釋來(lái)設(shè)置反應(yīng)式處理程序。區(qū)別在于:
@StreamListener
批注不能指定輸入或輸出,因?yàn)樗鼈冏鳛閰?shù)提供并從方法返回值。
@Input
和@Output
注釋,分別指示傳入和傳出數(shù)據(jù)流連接到哪個(gè)輸入或輸出。
@Output
注釋,指示應(yīng)該將數(shù)據(jù)發(fā)送到的輸入。
響應(yīng)式編程支持需要Java 1.8。
從Spring Cloud Stream 1.1.1起(從發(fā)行版Brooklyn.SR2開(kāi)始),反應(yīng)式編程支持要求使用Reactor 3.0.4.RELEASE及更高版本。不支持更早的Reactor版本(包括3.0.1.RELEASE,3.0.2.RELEASE和3.0.3.RELEASE)。spring-cloud-stream-reactive
可傳遞地檢索正確的版本,但是項(xiàng)目結(jié)構(gòu)可以將io.projectreactor:reactor-core
的版本管理為早期版本,尤其是在使用Maven時(shí)。使用Spring Initializr和Spring Boot 1.x生成的項(xiàng)目就是這種情況,該項(xiàng)目將Reactor版本覆蓋為2.0.8.RELEASE
。在這種情況下,必須確保發(fā)布了正確版本的工件。您可以通過(guò)在項(xiàng)目中添加對(duì)版本為3.0.4.RELEASE
或更高版本的io.projectreactor:reactor-core
的直接依賴來(lái)實(shí)現(xiàn)。
當(dāng)前,術(shù)語(yǔ)“ 反應(yīng)式 ”的使用是指正在使用的反應(yīng)式API,而不是指執(zhí)行模型是反應(yīng)式的(也就是說(shuō),綁定的端點(diǎn)仍然使用“推”式而非“拉式”模型)。盡管通過(guò)使用Reactor提供了一些反壓支持,但在將來(lái)的發(fā)行版中,我們確實(shí)打算通過(guò)對(duì)連接的中間件使用本機(jī)反應(yīng)性客戶端來(lái)完全支持反應(yīng)性管道。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: