Spring Cloud Stream 是构建消息驱动微服务应用程序的框架。Spring Cloud Stream 建立在 Spring Boot 的基础上,创建独立的、生产级的 Spring 应用程序,并使用 Spring 集成为消息代理提供连接。它提供了来自多个供应商的中间件的独立配置,介绍了持久发布订阅语义、使用者组和分区的概念。
你可以将 @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); } }
下面的列展示了 public interface Sink { String INPUT = "input"; @Input(Sink.INPUT) SubscribableChannel input(); }
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()); } } |