Spring Cloud Stream 参考文档

前言

本节将更详细地介绍如何使用 Spring Cloud Stream。它涵盖了创建和运行流应用等主题。

Spring Cloud Stream 简介

Spring Cloud Stream 是一个用于构建消息驱动微服务应用的框架。Spring Cloud Stream 基于 Spring Boot 构建独立的生产级 Spring 应用,并使用 Spring Integration 提供与消息中间件的连接。它提供了对多个供应商的中间件的意见式配置,引入了持久化发布-订阅语义、消费者组和分区等概念。

通过将 spring-cloud-stream 依赖项添加到应用的 classpath 中,你可以立即连接到由提供的 spring-cloud-stream binder(稍后会详细介绍)所暴露的消息中间件,并且你可以实现你的函数式需求,该需求(基于传入消息)由 java.util.function.Function 运行。

以下列表显示了一个快速示例

@SpringBootApplication
public class SampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SampleApplication.class, args);
	}

    @Bean
	public Function<String, String> uppercase() {
	    return value -> value.toUpperCase();
	}
}

以下列表显示了相应的测试

@SpringBootTest(classes =  SampleApplication.class)
@EnableTestBinder
class BootTestStreamApplicationTests {

	@Autowired
	private InputDestination input;

	@Autowired
	private OutputDestination output;

	@Test
	void contextLoads() {
		input.send(new GenericMessage<byte[]>("hello".getBytes()));
		assertThat(output.receive().getPayload()).isEqualTo("HELLO".getBytes());
	}
}

主要概念

Spring Cloud Stream 提供了一系列抽象和原语,简化了消息驱动微服务应用的编写。本参考手册的其余部分提供了更多详细信息。