最新更新

Spring Integration 6.0 中有什么新变化?

如果您对更多详细信息感兴趣,请参阅在 6.0 开发过程中解决的问题跟踪器ticket。spring-doc.cadn.net.cn

总的来说,该项目已经转移到 Java 17 基线,并从 Java EE 迁移到 Jakarta EE。spring-doc.cadn.net.cn

新组件

添加了用于集成流定义的 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 集成扩展项目已作为spring-integration-hazelcast模块。 有关更多信息,请参阅 Hazelcast 支持spring-doc.cadn.net.cn

SMB 支持

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

PostgreSQL 推送通知

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

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

RabbitMQ 流队列支持

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

Apache MINA SFTP

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

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

千分尺观察

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

GraalVM Polyglot 支持

脚本模块现在提供了一个PolyglotScriptExecutor基于 GraalVM Polyglot 支持的实现。 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并且可以在同一个 service 方法上多次声明相同的类型。 消息收发注释不需要poller属性作为@Poller了。spring-doc.cadn.net.cn

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

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

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

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

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

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

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

IntegrationFlowsfactory 现在标记为已弃用,以支持IntegrationFlow接口本身。 Factory 类将在将来的发行版中删除。spring-doc.cadn.net.cn

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

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

Messaging Gateway 接口方法现在可以返回Future<Void>Mono<Void>正确异步执行下游流。spring-doc.cadn.net.cn

旁边带有@MessagingGatewayannotation 接口也可以用@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

有关更多信息,请参阅 Messaging Gatewayspring-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-rmimodule 在以前的版本中被弃用后已被完全删除。 没有替代品:建议迁移到更安全的网络和应用程序协议,例如 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 Lock Registryspring-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如果replyPubSubDomainoption 设置为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 请求属性支持

添加了 Webclient 请求属性支持WebFluxRequestExecutingMessageHandler.spring-doc.cadn.net.cn

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