Spring Cloud Stream 参考文档

前言

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

Spring Cloud Stream 简介

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

通过将 spring-cloud-stream 依赖项添加到应用程序的类路径,你可以立即连接到由提供的 spring-cloud-stream 绑定器(稍后会详细介绍)公开的消息代理,并且可以实现你的功能需求,该需求由 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 提供了许多抽象和基本元素,简化了消息驱动的微服务应用程序的编写。本参考手册的其余部分提供了其他详细信息。