领先一步
VMware 提供培训和认证,以加快您的进步。
了解更多我们高兴地宣布 Spring Cloud Stream Germantown 版本列车发布的第一个里程碑版本——Germantown.M1/2.2.0.M1。
Spring Cloud Stream Germantown 2.2.0.M1 可在 Spring 里程碑 仓库中使用。
我们添加了额外的 功能编程增强和简化,您不再需要提供@EnableBinding
注解,在某些情况下,您可能不需要`spring.cloud.stream.definition`属性。考虑以下情况
@SpringBootApplication
public class SimpleFunctionRabbitDemoApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(SimpleFunctionRabbitDemoApplication.class);
}
@Bean
public Function<String, String> echo() {
return v -> v;
}
}
无需任何附加属性和/或注解,以上就是一个完全运行的 Spring Cloud Stream 应用程序,根据框架从上述代码中能够确定的内容绑定为基于 `Processor` 的。随后,以下将绑定为 `Sink`
@SpringBootApplication
public class SimpleFunctionRabbitDemoApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(SimpleFunctionRabbitDemoApplication.class);
}
@Bean
public Consumer<String> log() {
return System.out::println;
}
}
请注意,不再有@EnableBinding
注解或spring.cloud.stream.function.definition
属性,因为框架能够确定只有一个功能bean在应用程序上下文中可用。如果有多个,或者如果您想从多个 组合函数,您仍然可以提供spring.cloud.stream.function.definition
属性
秉承我们在 Germantown 中推动的主要主题的精神,Kafka Streams 绑定器现在也支持使用函数式编程模型编写应用程序。您可以简单地定义类型为java.util.Function|Consumer
的 bean,而不是使用StreamListener
和SendTo
来组合您的处理器,绑定器将委托给相应的绑定。这个 功能仍在发展中,随着我们完成 Germantown 的更多里程碑,请关注此空间以获取更多改进、详细信息和示例应用程序。
能够配置 每个绑定的 RetryTemplate。
许多 增强和错误修复。
注意
如果应用程序是从 Spring Initializr 创建的,则需要在 spring-cloud BOM 声明之前在 maven 依赖项管理中添加此 BOM 代码片段,否则最终将使用最新的快照。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-dependencies</artifactId>
<version>Germantown.M1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
此外,请关注我们最新的 AWS Kinesis 绑定器,它刚刚发布了 v1.1.0 版本。
与往常一样,我们欢迎反馈和贡献,请通过 Stackoverflow 或 GitHub 或 Gitter 联系我们。