此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

5.5 和 6.0 之间的更改

新组件

添加了用于集成流定义的 Groovy DSL 实现。 有关更多信息,请参阅 Groovy DSLspring-doc.cadn.net.cn

MQTT 客户端管理器

新的 MQTTClientManager已添加以支持跨不同通道适配器的可重用 MQTT 连接。 有关更多信息,请参阅共享 MQTT 客户端支持spring-doc.cadn.net.cn

GraphQL 支持

添加了 GraphQL 支持。 有关更多信息,请参阅 GraphQL 支持spring-doc.cadn.net.cn

Apache Camel 支持

引入了对 Apache Camel 路由的支持。 有关更多信息,请参阅 Apache Camel 支持spring-doc.cadn.net.cn

Hazelcast 支持

Hazelcast Spring Integration Extensions 项目已迁移为spring-integration-hazelcast模块。 有关更多信息,请参阅 Hazelcast 支持spring-doc.cadn.net.cn

SMB 支持

Spring Integration Extensions 项目添加了 SMB 支持。 Java DSL(参见org.springframework.integration.smb.dsl.Smbfactory)也已添加到此模块中。 一SmbStreamingMessageSourceSmbOutboundGateway介绍了实现。 有关详细信息,请参阅 SMB 支持spring-doc.cadn.net.cn

PostgreSQL 推送通知

一个PostgresSubscribableChannel允许通过以下方式接收推送通知PostgresChannelMessageTableSubscriber在新消息添加时添加到JdbcChannelMessageStore.spring-doc.cadn.net.cn

有关更多信息,请参阅 PostgreSQL:接收推送通知spring-doc.cadn.net.cn

RabbitMQ 流队列支持

AMQP 模块已得到增强,可支持使用 RabbitMQ 流队列的入站和出站通道适配器。 有关更多信息,请参阅 RabbitMQ 流队列支持spring-doc.cadn.net.cn

阿帕奇 MINA SFTP

SFTP 模块已从过时的 JCraft JSch 库完全重新设计为更强大和现代org.apache.sshd:sshd-sftpApache MINA 项目的模块。spring-doc.cadn.net.cn

有关详细信息,请参阅 SFTP 适配器spring-doc.cadn.net.cn

千分尺观察

现在支持使用微分尺启用定时器和跟踪的观察。 有关更多信息,请参阅千分尺观察spring-doc.cadn.net.cn

GraalVM 多语言支持

脚本模块现在提供了一个PolyglotScriptExecutor基于 GraalVM 多语言支持的实现。 JavaScript 支持现在基于此执行器,因为它的 JSR223 实现已自行从 Java 中删除。 有关详细信息,请参阅脚本支持spring-doc.cadn.net.cn

Apache Cassandra 支持

Apache Cassandra Spring Integration Extensions 项目已迁移为spring-integration-cassandra模块。 有关详细信息,请参阅 Apache Cassandra 支持spring-doc.cadn.net.cn

Kotlin 协程

框架中引入了 Kotlin 协程支持。spring-doc.cadn.net.cn

有关更多信息,请参阅 Kotlin 协程spring-doc.cadn.net.cn

原生图像

支持创建 GraalVM 本机映像。 有关详细信息,请参阅本机映像支持spring-doc.cadn.net.cn

一般更改

消息传递注释现在是@Repeatable并且可以在同一服务方法上多次声明相同的类型。 消息传递注释不需要poller属性作为@Poller了。spring-doc.cadn.net.cn

有关更多信息,请参阅注释支持spring-doc.cadn.net.cn

为方便起见,用于 Scatter-Gather 的 XML 和 Java DSL 基于RecipientListRouter,现在将applySequence = true,因此收集器部分可以依赖默认的关联策略。spring-doc.cadn.net.cn

有关更多信息,请参阅分散收集spring-doc.cadn.net.cn

AbstractMappingMessageRouter. 现在,将defaultOutputChannel还会重置channelKeyFallback属性设置为false,因此不会尝试从其键解析通道,但逻辑会立即回退到将消息发送到defaultOutputChannel.spring-doc.cadn.net.cn

有关更多信息,请参阅路由器选项spring-doc.cadn.net.cn

AggregatingMessageHandlernow 不会拆分Collection<Message<?>>结果MessageGroupProcessor(除非它是SimpleMessageGroupProcessor)的输出,但发出一条包含整个集合作为有效负载的消息。spring-doc.cadn.net.cn

有关详细信息,请参阅聚合器spring-doc.cadn.net.cn

IntegrationFlowsfactory 现在被标记为已弃用,以支持IntegrationFlow界面本身。 工厂类将在将来的版本中删除。spring-doc.cadn.net.cn

有关更多信息,请参阅 Java DSLspring-doc.cadn.net.cn

org.springframework.util.concurrent.ListenableFuture从 Spring Framework 开始已被弃用6.0. 所有 Spring Integration 异步 API 都已迁移到CompletableFuture.spring-doc.cadn.net.cn

消息网关接口方法现在可以返回Future<Void>Mono<Void>与下游流的适当异步执行。spring-doc.cadn.net.cn

旁边还有一个@MessagingGateway注释接口也可以用@Primary.spring-doc.cadn.net.cn

@MessagingGateway接口现在可以用作@Import用于配置的资源。spring-doc.cadn.net.cn

网关代理 Bean 的默认命名策略可以通过以下方式进行自定义@IntegrationComponentScan.nameGenerator()属性。 如果AnnotationConfigUtils.CONFIGURATION_BEAN_NAME_GENERATORbean 存在,则在回退到AnnotationBeanNameGenerator.spring-doc.cadn.net.cn

有关详细信息,请参阅消息传递网关spring-doc.cadn.net.cn

integrationGlobalPropertiesbean 现在被框架声明为org.springframework.integration.context.IntegrationProperties而不是之前弃用的java.util.Properties.spring-doc.cadn.net.cn

生成集合作为回复的消息处理程序(例如JpaOutboundGateway,JdbcOutboundGateway和其他基于数据库的网关)现在,如果查询没有返回任何记录,则返回一个空的结果列表。 以前null返回时结束流或抛出异常,具体取决于requiresReply.spring-doc.cadn.net.cn

RMI 移除

spring-integration-rmi模块在以前的版本中被弃用后已被完全删除。 没有替代品:建议迁移到更安全的网络和应用程序协议,例如 WebSockets、RSockets、gRPC 或 REST。spring-doc.cadn.net.cn

GemFire 移除

spring-integration-gemfire模块已被完全删除,因为没有 Spring Data2022.0.0支持 VMware GemFire 或 Apache Geode。spring-doc.cadn.net.cn

HTTP 更改

#cookies表达式评估上下文的变量,在HttpRequestHandlingEndpointSupport,现在是一个MultiValueMap携带客户端设置的 cookie 的所有值。 有关更多信息,请参阅 HTTP 支持spring-doc.cadn.net.cn

Apache Kafka 更改

当提供RetryTemplate在入站网关或消息驱动通道适配器上,如果errorChannel还提供了一个ErrorMessageSendingRecoverer自动配置。spring-doc.cadn.net.cn

此外,新的KafkaErrorMessageSendingRecoverer提供;这可以与DefaultErrorHandler以避免长时间聚合重试延迟导致分区重新平衡的问题。spring-doc.cadn.net.cn

有关更多信息,请参阅 Spring for Apache Kafka 支持spring-doc.cadn.net.cn

JDBC 更改

DefaultLockRepository现在可以提供PlatformTransactionManager而不是依赖应用程序上下文中的主 Bean。spring-doc.cadn.net.cn

有关更多信息,请参阅 JDBC 锁定注册表spring-doc.cadn.net.cn

TCP/IP 更改

lookupHost属性的AbstractConnectionFactoryDatagramPacketMessageMapper现在设置为false默认情况下,以避免在未配置 DNS 的环境中出现延迟。spring-doc.cadn.net.cn

有关详细信息,请参阅 TCP 和 UDP 支持spring-doc.cadn.net.cn

JMS 更改

JmsOutboundGateway现在会创建一个TemporaryTopic而不是TemporaryQueue如果replyPubSubDomain选项设置为true.spring-doc.cadn.net.cn

有关更多信息,请参阅 JMS 支持spring-doc.cadn.net.cn

安全更改

ChannelSecurityInterceptor及其注释@SecuredChannel和 XML<secured-channels>配置已被弃用,取而代之的是AuthorizationChannelInterceptor.spring-doc.cadn.net.cn

有关详细信息,请参阅安全支持spring-doc.cadn.net.cn

Webflux 请求属性支持

添加了对 Web 客户端请求属性的支持WebFluxRequestExecutingMessageHandler.spring-doc.cadn.net.cn

有关更多信息,请参阅 WebFlux 请求属性spring-doc.cadn.net.cn