对于最新的稳定版本,请使用 Spring Integration 6.4.0! |
5.5 和 6.0 之间的更改
新组件
添加了用于集成流定义的 Groovy DSL 实现。 有关更多信息,请参阅 Groovy DSL。
MQTT 客户端管理器
添加了新的 MQTT,以支持跨不同通道适配器的可重用 MQTT 连接。
有关更多信息,请参阅共享 MQTT 客户端支持。ClientManager
GraphQL 支持
添加了 GraphQL 支持。 有关更多信息,请参阅 GraphQL 支持。
Apache Camel 支持
引入了对 Apache Camel 路由的支持。 有关更多信息,请参阅 Apache Camel 支持。
Hazelcast 支持
Hazelcast Spring Integration Extensions 项目已作为模块迁移。
有关更多信息,请参阅 Hazelcast 支持。spring-integration-hazelcast
SMB 支持
SMB 支持已从 Spring Integration Extensions 项目添加。
Java DSL(参见工厂)也已添加到此模块中。
介绍了 和 implementation 。
有关详细信息,请参阅 SMB 支持。org.springframework.integration.smb.dsl.Smb
SmbStreamingMessageSource
SmbOutboundGateway
PostgreSQL 推送通知
A 允许通过在 添加新消息时接收推送通知。PostgresSubscribableChannel
PostgresChannelMessageTableSubscriber
JdbcChannelMessageStore
有关更多信息,请参阅 PostgreSQL:接收推送通知。
RabbitMQ 流队列支持
AMQP 模块已得到增强,可为使用 RabbitMQ Stream Queues 的入站和出站通道适配器提供支持。 有关更多信息,请参阅 RabbitMQ 流队列支持。
Apache MINA SFTP
SFTP 模块已从过时的 JCraft JSch 库完全重新设计为 Apache MINA 项目的更健壮和现代的模块。org.apache.sshd:sshd-sftp
有关更多信息,请参阅 SFTP 适配器。
千分尺观察
现在支持使用 Micrometer 对计时器启用观察和跟踪。 有关更多信息,请参阅千分尺观测。
GraalVM Polyglot 支持
脚本模块现在提供基于 GraalVM Polyglot 支持的实现。
JavaScript 支持现在基于此执行程序,因为它的 JSR223 实现已从 Java 中删除。
有关更多信息,请参阅脚本支持。PolyglotScriptExecutor
Apache Cassandra 支持
Apache Cassandra Spring Integration Extensions 项目已作为模块迁移。
有关更多信息,请参阅 Apache Cassandra 支持。spring-integration-cassandra
本机映像
支持创建 GraalVM 原生映像。 有关更多信息,请参阅本机映像支持。
一般更改
消息传递注释现在是,并且可以在同一服务方法上多次声明相同的类型。
消息传递注释不再需要 attribute 作为 的数组。@Repeatable
poller
@Poller
有关更多信息,请参阅 Annotation Support 。
为方便起见,用于 Scatter-Gather 的 XML 和 Java DSL 基于 ,现在设置了一个 ,因此 Gatherer 部分可以依赖默认的关联策略。RecipientListRouter
applySequence = true
有关更多信息,请参阅 Scatter-Gather 。
对 进行了另一个方便的 行为更改。
现在,设置 a 也会将属性重置为 ,因此不会尝试从其 key 解析通道,但逻辑会立即回退到将消息发送到 。AbstractMappingMessageRouter
defaultOutputChannel
channelKeyFallback
false
defaultOutputChannel
有关详细信息,请参阅路由器选项。
now 不会在输出上拆分 (除非它是 ) 的结果,而是发出一条包含整个集合作为有效负载的消息。AggregatingMessageHandler
Collection<Message<?>>
MessageGroupProcessor
SimpleMessageGroupProcessor
有关更多信息,请参阅 Aggregator。
工厂现在被标记为已弃用,以支持接口本身中提供的 Fluent API。
Factory 类将在将来的发行版中删除。IntegrationFlows
IntegrationFlow
有关更多信息,请参阅 Java DSL。
从 Spring Framework 开始,已弃用。
所有 Spring 集成异步 API 都已迁移到 .org.springframework.util.concurrent.ListenableFuture
6.0
CompletableFuture
Messaging Gateway 接口方法可以返回下游流,并正确异步执行下游流。Future<Void>
Mono<Void>
除了注释外,接口还可以标有 .@MessagingGateway
@Primary
@MessagingGateway
接口现在可以用作配置资源。@Import
网关代理 bean 的默认命名策略可以通过 attribute 进行自定义。
如果存在 bean,则在回退到 .@IntegrationComponentScan.nameGenerator()
AnnotationConfigUtils.CONFIGURATION_BEAN_NAME_GENERATOR
AnnotationBeanNameGenerator
有关更多信息,请参阅 Messaging Gateway。
现在,框架将 bean 声明为实例,而不是以前弃用的 .integrationGlobalProperties
org.springframework.integration.context.IntegrationProperties
java.util.Properties
如果查询未返回任何记录,则生成集合作为回复的消息处理程序(例如,和其他基于 DB 的网关)现在返回空结果列表。
以前,返回结束流或引发异常,具体取决于 .JpaOutboundGateway
JdbcOutboundGateway
null
requiresReply
RMI 删除
该模块在以前的版本中被弃用后已被完全删除。
没有替代品:建议迁移到更安全的网络和应用程序协议,例如 WebSockets、RSockets、gRPC 或 REST。spring-integration-rmi
GemFire 移除
由于没有 Spring Data 对 VMware GemFire 或 Apache Geode 的支持,因此该模块已被完全删除。spring-integration-gemfire
2022.0.0
HTTP 更改
表达式评估上下文的变量(在 中公开)现在是 a,用于承载客户端设置的 Cookie 的所有值。
有关更多信息,请参阅 HTTP 支持。#cookies
HttpRequestHandlingEndpointSupport
MultiValueMap
Apache Kafka 更改
在提供入站网关或消息驱动的通道适配器时,如果还提供了 ,则会自动配置 。RetryTemplate
errorChannel
ErrorMessageSendingRecoverer
此外,还提供了 new;这可以与 a 一起使用,以避免长时间聚合重试延迟导致分区重新平衡的问题。KafkaErrorMessageSendingRecoverer
DefaultErrorHandler
有关更多信息,请参阅 Spring for Apache Kafka 支持。
JDBC 更改
现在可以提供 a 而不是依赖于应用程序上下文中的主 bean。DefaultLockRepository
PlatformTransactionManager
有关更多信息,请参阅 JDBC Lock Registry。
TCP/IP 更改
和 的属性现在默认设置为,以避免在未配置 DNS 的环境中出现延迟。lookupHost
AbstractConnectionFactory
DatagramPacketMessageMapper
false
有关更多信息,请参阅 TCP 和 UDP 支持。
JMS 更改
现在创建一个 instead of if 选项设置为 。JmsOutboundGateway
TemporaryTopic
TemporaryQueue
replyPubSubDomain
true
有关更多信息,请参阅 JMS 支持。
安全性更改
及其注释和 XML 配置已被弃用,取而代之的是 。ChannelSecurityInterceptor
@SecuredChannel
<secured-channels>
AuthorizationChannelInterceptor
有关更多信息,请参阅安全支持。
Webflux 请求属性支持
已为 添加了 Webclient 请求属性支持 。WebFluxRequestExecutingMessageHandler
有关更多信息,请参阅 WebFlux 请求属性。