26. 2.0 的新功能?

Spring Cloud Stream 引入了许多新功能,增强功能和更改。以下各节概述了最值得注意的部分:

26.1 新功能和组件

26.2 显着增强

此版本包括以下显着增强:

26.2.1 现在,Actuator 和 Web 依赖项都是可选的

如果既不需要 Actuator 也不需要 Web 依赖项,此更改将减少已部署应用程序的占用空间。还可以通过手动添加以下依赖项之一,在反应式和常规 Web 范例之间进行切换。

以下清单显示了如何添加常规 Web 框架:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
</dependency>

以下清单显示了如何添加反应式 Web 框架:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

下表显示了如何添加 Actuator 依赖性:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

26.2.2Content Type 协商的改进

Verion 2.0 的核心主题之一是围绕 Content Type 协商和消息转换的改进(在一致性和性能上)。以下摘要概述了该领域的显着变化和改进。有关更多详细信息,请参见“ 第 32 章,Content Type 协商”部分。 此博客文章还包含更多详细信息。

26.3 显着弃用

从 2.0 版开始,不推荐使用以下项目:

26.3.1 Java 序列化(Java 本机和 Kryo)

JavaSerializationMessageConverterKryoMessageConverter暂时保留。但是,我们计划将来将它们移出核心软件包和支持。弃用此文件的主要原因是要标记基于类型,特定于语言的序列化可能在分布式环境中引起的问题,在该环境中,生产者和使用者可能依赖于不同的 JVM 版本或具有不同版本的支持库(即 Kryo)。我们还想提请注意这样一个事实,即 Consumer 和生产者甚至可能都不基于 Java,因此多语言风格的序列化(即 JSON)更适合。

26.3.2 不推荐使用的类和方法

以下是显着弃用的快速摘要。有关更多详细信息,请参见相应的\ {} [javadoc]。

public interface Sample {
	String OUTPUT = "sampleOutput";

	@Output(Sample.OUTPUT)
	MessageChannel output();
}

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

首页