Spring Cloud Stream Reference Documentation

Preface

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

Introducing Spring Cloud Stream

Spring Cloud Stream 是用于构建消息驱动的微服务应用程序的框架。Spring Cloud Stream 基于 Spring Boot 来创建独立的、适合生产环境的 Spring 应用程序,并使用 Spring 集成提供与消息代理的连接。从多个供应商中提供了意见配置的中间件,引入了持久发布-订阅语义、消费者组和分区的概念。

通过将 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)
@Import({TestChannelBinderConfiguration.class})
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());
	}
}

Main Concepts

Spring Cloud Stream 提供了许多简化消息驱动的微服务应用程序编写的抽象和基本要素。本参考手册的其余部分提供了其他详细信息。