* Upgrade to Java 17, SF-6.0, Gradle 7.2 * Upgrade to Jakarta dependencies and respective namespaces * Fix some tests for Java 17 compatibility * Fix wrong Javadocs * Add some missed Javadocs * Fix more `jakarta` namespace * Fix WS & XML modules to use Jakarta EE * `--add-opens` in some modules for their reflection-based tests * Disable Kafka tests which does not work on Windows; see Apache Kafka `3.0.1` * Upgrade to JUnit `5.8.1` * Migrate JMS tests to Artemis * Remove RMI module as it was deprecated before * Fix `pr-build-workflow.yml` for Java 17 * Fix JavaDocs warnings using `Xdoclint:syntax` per module, not in the top-level `api` task * Move docs for version `6.0`
83 lines
4.0 KiB
Plaintext
83 lines
4.0 KiB
Plaintext
[[migration-5.3-5.4]]
|
|
=== Changes between 5.3 and 5.4
|
|
|
|
[[x5.4-new-components]]
|
|
=== New Components
|
|
|
|
[[x5.4-sik]]
|
|
==== Channel Adapters for Apache Kafka
|
|
The standalone https://projects.spring.io/spring-integration-kafka/[Spring Integration for Apache Kafka] project has been merged as a `spring-integration-kafka` module to this project.
|
|
|
|
The `KafkaProducerMessageHandler` `sendTimeoutExpression` default has changed.
|
|
|
|
You can now access the `Future<?>` for underlying `send()` operations.
|
|
|
|
See <<./kafka.adoc#kafka,Spring for Apache Kafka Support>> for more information.
|
|
|
|
[[x5.4-r2dbc]]
|
|
==== R2DBC Channel Adapters
|
|
|
|
The Channel Adapters for R2DBC database interaction have been introduced.
|
|
See <<./r2dbc.adoc#r2dbc,R2DBC Support>> for more information.
|
|
|
|
[[x5.4-redis-stream]]
|
|
==== Redis Stream Support
|
|
|
|
The Channel Adapters for Redis Stream support have been introduced.
|
|
See <<./redis.adoc#redis-stream-outbound,Redis Stream Outbound Channel Adapter>> for more information.
|
|
|
|
[[x5.4-renewable-lock]]
|
|
==== Renewable Lock Registry
|
|
|
|
A Renewable lock registry has been introduced to allow renew lease of a distributed lock.
|
|
See <<./jdbc.adoc#jdbc-lock-registry,JDBC implementation>> for more information.
|
|
|
|
[[x5.4-zeromq]]
|
|
==== ZeroMQ Support
|
|
|
|
`ZeroMqChannel`, `ZeroMqMessageHandler` and `ZeroMqMessageProducer` have been introduced.
|
|
See <<./zeromq.adoc#zeromq,ZeroMQ Support>> for more information.
|
|
|
|
[[x5.4-general]]
|
|
=== General Changes
|
|
|
|
The one-way messaging gateway (the `void` method return type) now sets a `nullChannel` explicitly into the `replyChannel` header to ignore any possible downstream replies.
|
|
See <<./gateway.adoc#gateway-default-reply-channel,Setting the Default Reply Channel>> for more information.
|
|
|
|
Also the gateway method invokers (`GatewayProxyFactoryBean.MethodInvocationGateway`) are now supplied with the managed bean name as a combination of gateway proxy bean name plus method signature.
|
|
For example: `sampleGateway#echo(String)`.
|
|
This effects message history and metrics exposed for the gateway method calls and also give fine-grained logs during start and close of application context.
|
|
|
|
The aggregator (and resequencer) can now expire orphaned groups (groups in a persistent store where no new messages arrive after an application restart).
|
|
See <<./aggregator.adoc#aggregator-expiring-groups, Aggregator Expiring Groups>> for more information.
|
|
|
|
The legacy metrics that were replaced by Micrometer meters have been removed.
|
|
|
|
The <<./barrier.adoc#barrier,Thread Barrier>> has now two separate timeout options: `requestTimeout` and `triggerTimeout`.
|
|
|
|
[[x5.4-tcp]]
|
|
=== TCP/UDP Changes
|
|
|
|
Connection factories now support multiple sending components (`TcpSender`); they remain limited to one receiving component (`TcpListener`).
|
|
This allows, for example, an inbound gateway and outbound channel adapter to share the same factory, supporting both request/reply and arbitrary messaging from the server to the client.
|
|
Shared factories should not be used with outbound gateways, unless single-use connections or the `ThreadAffinityClientConnectionFactory` are being used.
|
|
See <<./ip.adoc#ip-collaborating-adapters,Collaborating Channel Adapters>> and <<./ip.adoc#tcp-gateways, TCP Gateways>> for more information.
|
|
|
|
The UDP channel adapters can now be configured with a `SocketCustomizer` which allows the setting of socket properties that are not directly supported by the adapters.
|
|
See <<./ip.adoc#udp-adapters,UDP Adapters>> for more information.
|
|
|
|
[[x5.4-amqp]]
|
|
=== AMQP Changes
|
|
|
|
The outbound endpoints now have a new mechanism for handling publisher confirms and returns.
|
|
See <<./amqp.adoc#alternative-confirms-returns,Alternative Mechanism for Publisher Confirms and Returns>> for more information.
|
|
|
|
A new `BatchMode.EXTRACT_PAYLOAD_WITH_HEADERS` is supported by the `AmqpInboundChannelAdapter`.
|
|
See <<./amqp.adoc#amqp-inbound-channel-adapter,Inbound Channel Adapter>> for more information.
|
|
|
|
[[x5.4-mail]]
|
|
=== Mail Changes
|
|
|
|
The `AbstractMailReceiver` can now produce the `MimeMessage` as-is without eager fetching its content.
|
|
See <<./mail.adoc#mail-inbound, Mail-receiving Channel Adapter>> for more information.
|