New Components
Debezium Inbound Channel Adapter
The Debezium Engine based Change Data Capture (CDC) channel adapter, that allows capturing database change events, converting them into Messages and streaming those to the outbound channels. See Debezium Support for more information.
General Changes
-
The XML configuration for
<poller>
and@Poller
annotation now support ISO 8601 duration format forfixed-delay
,fixed-rate
andinitial-delay
options. See Polling Consumer for more information. -
Java, Groovy and Kotlin DSLs have now context-specific methods in the
IntegrationFlowDefinition
with a singleConsumer
argument to configure an endpoint and its handler with one builder and readable options. See, for example,transformWith()
,splitWith()
in Java DSL Chapter. -
A new
spring.integration.endpoints.defaultTimeout
global property has been introduced to override the default 30 seconds timeout for all the endpoints in the application. See Global Properties for more information. -
The
@MessagingGateway
andGatewayEndpointSpec
provided by the Java DSL now expose theerrorOnTimeout
property of the internalMethodInvocationGateway
extension of theMessagingGatewaySupport
. See Gateway Behavior When No response Arrives for more information. -
The
LockRegistry
provides template-like API to execute provided task while locked. See Distributed Locks for more information. -
The default trigger for polling endpoint is now a
PeriodicTrigger
instance with a 1 second fixed delay period; previously, the default was 10 milliseconds. See Polling Consumer for more information.
WebSockets Changes
-
For the server and client WebSocket containers, the send buffer overflow strategy is now configurable in
IntegrationWebSocketContainer
and in XML viasend-buffer-overflow-strategy
. This strategy determines the behavior when a session’s outbound message buffer has reached the configured limit. See WebSockets Support for more information.
Apache Kafka Support Changes
The KafkaMessageSource
now extracts an ErrorHandlingDeserializer
configuration from the consumer properties and re-throws DeserializationException
extracted from failed record headers.
See Kafka Inbound Channel Adapter for more information.
JDBC Support Changes
The JdbcMessageStore
, JdbcChannelMessageStore
, JdbcMetadataStore
, and DefaultLockRepository
implement SmartLifecycle
and perform a SELECT COUNT
query, on their respective tables, in the start()
method to ensure that the required table (according to the provided prefix) is present in the target database.
The PostgresChannelMessageStoreQueryProvider
now provides single DELETE…RETURNING
statement for polling queries.
For this purpose the ChannelMessageStoreQueryProvider
exposes isSingleStatementForPoll
option which is consulted from the JdbcChannelMessageStore
.
See JDBC Message Store for more information.
MongoDB Support Changes
A new option setCreateIndexes(boolean)
has been introduced in AbstractConfigurableMongoDbMessageStore
to disable the auto indexes creation.
See MongoDB Message Store for an example.
Remote Files Support Changes
FtpLastModifiedFileListFilter
, SftpLastModifiedFileListFilter
and SmbLastModifiedFileListFilter
have been introduced to allow files filtering based on a last-modified strategy respectively for FTP
, SFTP
and SMB
.
See FTP Inbound Channel Adapter, SFTP Inbound Channel Adapter, and SMB Inbound Channel Adapter for more information.
SFTP Support Changes
A new DefaultSftpSessionFactory.createSftpClient(…)
method has been introduced to support a custom SftpClient
when overridden.
See SFTP Session Factory for more information.
Security Support Changes
The last class in spring-integration-security
module SecurityContextPropagationChannelInterceptor
has been deprecated in favor of similar class moved to spring-security-messaging
module.
See Security in Spring Integration for more information.