Spring Cloud Stream是構建消息驅動的微服務應用程序的框架。Spring Cloud Stream基於Spring Boot建立獨立的生產級Spring應用程序,並使用Spring Integration提供與消息代理的連接。它提供了來自幾家供應商的中間件的意見配置,介紹了持久發佈訂閱語義,消費者組和分區的概念。
需要JAVA Spring Cloud大型企業分佈式微服務雲構建的B2B2C電子商務平臺源碼請加企鵝 :壹零叄八柒柒肆六二六
您可以將@EnableBinding註釋添加到應用程序,以便立即連接到消息代理,並且可以將@StreamListener添加到方法中,以使其接收流處理的事件。以下是接收外部消息的簡單接收器應用程序。
@SpringBootApplication
@EnableBinding(Sink.class)
public class VoteRecordingSinkApplication {
public static void main(String[] args) {
SpringApplication.run(VoteRecordingSinkApplication.class, args);
}
@StreamListener(Sink.INPUT)
public void processVote(Vote vote) {
votingService.recordVote(vote);
}
}
@EnableBinding註釋需要一個或多個接口作爲參數(在這種情況下,該參數是單個Sink接口)。接口聲明輸入和/或輸出通道。Spring Cloud Stream提供了接口Source,Sink和Processor; 您還可以定義自己的界面。
以下是Sink接口的定義:
public interface Sink {
String INPUT = "input";
@Input(Sink.INPUT)
SubscribableChannel input();
}
@Input註釋標識輸入通道,通過該輸入通道接收到的消息進入應用程序; @Output註釋標識輸出通道,發佈的消息將通過該通道離開應用程序。@Input和@Output註釋可以使用頻道名稱作爲參數; 如果未提供名稱,將使用註釋方法的名稱。
Spring Cloud Stream將爲您創建一個界面的實現。您可以在應用程序中通過自動連接來使用它,如下面的測試用例示例。
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = VoteRecordingSinkApplication.class)
@WebAppConfiguration
@DirtiesContext
public class StreamApplicationTests {
@Autowired
private Sink sink;
@Test
public void contextLoads() {
assertNotNull(this.sink.input());
}
}
從現在開始,我這邊會將近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud框架的朋友,大家來一起探討spring cloud架構的搭建過程及如何運用於企業項目。java springcloud b2b2c shop 多用戶商城系統源碼