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 は、メッセージ駆動型のマイクロサービスアプリケーションの作成を簡素化する多数の抽象化とプリミティブを提供します。このリファレンスマニュアルの残りの部分では、追加の詳細を説明します。