Skip to content

Commit 2352285

Browse files
committed
Start version 7.0
* Upgrade to Gradle `8.14.1` * Rearrange docs for `7.0` version
1 parent 01db420 commit 2352285

File tree

9 files changed

+111
-103
lines changed

9 files changed

+111
-103
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version=6.5.1-SNAPSHOT
1+
version=7.0.0-SNAPSHOT
22
org.gradle.jvmargs=-Xmx2g -XX:+HeapDumpOnOutOfMemoryError -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8
33
kotlin.jvm.target.validation.mode=IGNORE
44
org.gradle.caching=true

gradle/wrapper/gradle-wrapper.jar

181 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionSha256Sum=8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
3+
distributionSha256Sum=845952a9d6afa783db70bb3b0effaae45ae5542ca2bb7929619e8af49cb634cf
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip
55
networkTimeout=10000
66
validateDistributionUrl=true
77
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ case "$( uname )" in #(
114114
NONSTOP* ) nonstop=true ;;
115115
esac
116116

117-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
117+
CLASSPATH="\\\"\\\""
118118

119119

120120
# Determine the Java command to use to start the JVM.
@@ -205,15 +205,15 @@ fi
205205
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
206206

207207
# Collect all arguments for the java command:
208-
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
208+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
209209
# and any embedded shellness will be escaped.
210210
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
211211
# treated as '${Hostname}' itself on the command line.
212212

213213
set -- \
214214
"-Dorg.gradle.appname=$APP_BASE_NAME" \
215215
-classpath "$CLASSPATH" \
216-
org.gradle.wrapper.GradleWrapperMain \
216+
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
217217
"$@"
218218

219219
# Stop when "xargs" is not available.

gradlew.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ goto fail
7070
:execute
7171
@rem Setup the command line
7272

73-
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73+
set CLASSPATH=
7474

7575

7676
@rem Execute Gradle
77-
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
77+
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
7878

7979
:end
8080
@rem End local scope for the variables with windows NT shell

src/reference/antora/modules/ROOT/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@
255255
* xref:samples.adoc[]
256256
* xref:resources.adoc[]
257257
* xref:history.adoc[]
258+
** xref:changes-6.4-6.5.adoc[]
258259
** xref:changes-6.3-6.4.adoc[]
259260
** xref:changes-6.2-6.3.adoc[]
260261
** xref:changes-6.1-6.2.adoc[]
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
[[migration-6.4-6.5]]
2+
= Changes between 6.4 and 6.5
3+
4+
[[x6.5-general]]
5+
== General Changes
6+
7+
The deprecated previously usage of `org.springframework.util.concurrent.ListenableFuture` has been removed in favor of `CompletableFuture`.
8+
9+
The previously deprecated SpEL-based Control Bus components have been removed in favor of functionality around `ControlBusCommandRegistry`.
10+
The `<control-bus use-registry="">` attribute is deprecated now without replacement since only `ControlBusCommandRegistry` functionality is available.
11+
The Java DSL `controlBusOnRegistry()` operator is deprecated in favor of restored `controlBus()` which is fully based now on the `ControlBusCommandRegistry`.
12+
See xref:control-bus.adoc[Control Bus] for more information.
13+
14+
The `AbstractCorrelatingMessageHandler` does not throw an `IllegalArgumentException` for the collection of payloads as a result of the `MessageGroupProcessor`.
15+
Instead, such a collection is wrapped into a single reply message.
16+
See xref:aggregator.adoc[Aggregator] for more information.
17+
18+
The `AbstractMessageChannel` beans now throw a special `MessageDispatchingException` when an attempt to send a message to not running application is done.
19+
In general, it is a design error to try to produce a message from `afterPropertiesSet()`, `@PostConstruct` or bean definition methods.
20+
The `SmartLifecycle.start()` is preferred way for this kind of logic, or better to do that via inbound channel adapters.
21+
22+
The Java DSL `gateway()` operator now fully supports an `async(true)` behavior.
23+
See xref:gateway.adoc[] for more information.
24+
25+
[[x6.5-lock-request-handler-advice]]
26+
== The `LockRequestHandlerAdvice`
27+
28+
A new `LockRequestHandlerAdvice` is introduced to keep the lock for a key based on a request message for message handler invocation.
29+
See xref:handler-advice.adoc[] for more information.
30+
31+
[[x6.5-correlation-changes]]
32+
== The `discardIndividuallyOnExpiry` Option For Correlation Handlers
33+
34+
The aggregator and resequencer can now discard the whole expired group as a single message via setting `discardIndividuallyOnExpiry` to `false`.
35+
See xref:aggregator.adoc#releasestrategy[ReleaseStrategy] for more information.
36+
37+
[[x6.5-message-store-with-locks]]
38+
== The `LockRegistry` in the `MessageStore`
39+
40+
The `AbstractMessageGroupStore` now can be configured with a `LockRegistry` to perform series of persistent operation atomically.
41+
See xref:message-store.adoc#use-lock-registry[Use LockRegistry] for more information.
42+
43+
[[x6.5-observation-changes]]
44+
== Micrometer Observation Changes
45+
46+
The `SourcePollingChannelAdapter` endpoint now starts a `CONSUMER` kind observation for the received message.
47+
The `MessageReceiverContext` now distinguishes between `handler`, `message-source` and `message-producer` values for the `spring.integration.type` low cardinality tag.
48+
See xref:metrics.adoc#micrometer-observation[Micrometer Observation] for more information.
49+
50+
[[x6.5-mqtt-changes]]
51+
== Optional Paho MQTT Dependencies
52+
53+
The `org.eclipse.paho:org.eclipse.paho.client.mqttv3` dependency for `spring-integration-mqtt` is now also optional as `org.eclipse.paho:org.eclipse.paho.mqttv5.client` always was.
54+
See xref:mqtt.adoc[MQTT Support] for more information.
55+
56+
[[x6.5-kafka-changes]]
57+
== Apache Kafka support Changes
58+
59+
The `KafkaMessageSource` and `KafkaMessageDrivenChannelAdapter` now generate `MessageHeaders.ID` and `MessageHeaders.TIMESTAMP` headers by default as the rest of Spring Integration channel adapters.
60+
The behavior can be restored to the previous with injection of the `MessagingMessageConverter` with default settings.
61+
See xref:kafka.adoc[Apache Kafka Support] for more information.
62+
63+
[[x6.5-file-filter-changes]]
64+
== The Recent File Filter Support
65+
66+
The `AbstractRecentFileListFilter` strategy has been introduced to accept only those files which are not old enough according to the provided `age`.
67+
The respective implementations are provided: `RecentFileListFilter`, `FtpRecentFileListFilter`, `SftpRecentFileListFilter` and `SmbRecentFileListFilter`.
68+
See xref:file/reading.adoc[Reading Files] for more information.
69+
70+
[[x6.5-file-exists-mode-expression]]
71+
== FileExistsMode Expression Support
72+
73+
The remote file gateways (`AbstractRemoteFileOutboundGateway`) now support dynamic resolution of `FileExistsMode` at runtime via SpEL expressions.
74+
See xref:ftp/rft.adoc[Remote File Gateways] for more information.
75+
76+
[[x6.5-hazelcast-changes]]
77+
== Hazelcast Module Deprecations
78+
79+
The `HazelcastLockRegistry` and Hazelcast `LeaderInitiator` have been deprecated due to Hazelcast CP Subsystem migration to Enterprise Edition.
80+
See xref:hazelcast.adoc[Hazelcast Support] for more information.
81+
82+
[[x6.5-jdbc-changes]]
83+
== JDBC Support
84+
85+
The `BeanPropertySqlParameterSourceFactory` uses now internally the `MapSqlParameterSource` if provided input is a `Map`.
86+
Also, `JdbcMessageHandler` exposes a `usePayloadAsParameterSource` flag to allow to deal with parameter source only against message payload.
87+
That's where the mentioned `MapSqlParameterSource` comes useful for request messages with map payloads.
88+
See xref:jdbc.adoc[JDBC Support] for more information.
89+
90+
[[x6.5-redis-changes]]
91+
== Redis Stream Support
92+
93+
The `ReactiveRedisStreamMessageHandler` now exposes a `Function<Message<?>, RedisStreamCommands.XAddOptions>` to provide additional `XADD` option via convenient `RedisStreamCommands.XAddOptions` API.
94+
See xref:redis.adoc#redis-stream-outbound[Redis Support] for more information.

src/reference/antora/modules/ROOT/pages/preface.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ This section details the compatible https://www.oracle.com/technetwork/java/java
1515
[[supported-java-versions]]
1616
=== Compatible Java Versions
1717

18-
For Spring Integration 6.4.x, the minimum compatible Java version is Java SE 17.
18+
For Spring Integration 7.0.x, the minimum compatible Java version is Java SE 17.
1919
Older versions of Java are not supported.
2020

2121
[[supported-spring-versions]]
2222
=== Compatible Versions of the Spring Framework
2323

24-
Spring Integration 6.4.x requires Spring Framework 6.2 or later.
24+
Spring Integration 7.0.x requires Spring Framework 7.0 or later.
2525

2626
[[code-conventions]]
2727
== Code Conventions

src/reference/antora/modules/ROOT/pages/whats-new.adoc

Lines changed: 6 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -2,105 +2,18 @@
22
= What's New?
33

44
[[spring-integration-intro-new]]
5-
For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 6.5.
5+
For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 7.0.
66

77
If you are interested in the changes and features that were introduced in earlier versions, see the xref:history.adoc[Change History].
88

9-
[[what-s-new-in-spring-integration-6-5]]
10-
== What's New in Spring Integration 6.5?
9+
[[what-s-new-in-spring-integration-7-0]]
10+
== What's New in Spring Integration 7.0?
1111

12-
If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 6.5 development process.
12+
For more details, see the https://github.com/spring-projects/spring-integration/issues[GitHub Issues] that were resolved as part of the 7.0 development process.
1313

1414
In general the project has been moved to the latest dependency versions.
15+
Java 17 is still baseline, but Java 24 is supported.
1516

16-
[[x6.5-general]]
17+
[[x7.0-general]]
1718
== General Changes
1819

19-
The deprecated previously usage of `org.springframework.util.concurrent.ListenableFuture` has been removed in favor of `CompletableFuture`.
20-
21-
The previously deprecated SpEL-based Control Bus components have been removed in favor of functionality around `ControlBusCommandRegistry`.
22-
The `<control-bus use-registry="">` attribute is deprecated now without replacement since only `ControlBusCommandRegistry` functionality is available.
23-
The Java DSL `controlBusOnRegistry()` operator is deprecated in favor of restored `controlBus()` which is fully based now on the `ControlBusCommandRegistry`.
24-
See xref:control-bus.adoc[Control Bus] for more information.
25-
26-
The `AbstractCorrelatingMessageHandler` does not throw an `IllegalArgumentException` for the collection of payloads as a result of the `MessageGroupProcessor`.
27-
Instead, such a collection is wrapped into a single reply message.
28-
See xref:aggregator.adoc[Aggregator] for more information.
29-
30-
The `AbstractMessageChannel` beans now throw a special `MessageDispatchingException` when an attempt to send a message to not running application is done.
31-
In general, it is a design error to try to produce a message from `afterPropertiesSet()`, `@PostConstruct` or bean definition methods.
32-
The `SmartLifecycle.start()` is preferred way for this kind of logic, or better to do that via inbound channel adapters.
33-
34-
The Java DSL `gateway()` operator now fully supports an `async(true)` behavior.
35-
See xref:gateway.adoc[] for more information.
36-
37-
[[x6.5-lock-request-handler-advice]]
38-
== The `LockRequestHandlerAdvice`
39-
40-
A new `LockRequestHandlerAdvice` is introduced to keep the lock for a key based on a request message for message handler invocation.
41-
See xref:handler-advice.adoc[] for more information.
42-
43-
[[x6.5-correlation-changes]]
44-
== The `discardIndividuallyOnExpiry` Option For Correlation Handlers
45-
46-
The aggregator and resequencer can now discard the whole expired group as a single message via setting `discardIndividuallyOnExpiry` to `false`.
47-
See xref:aggregator.adoc#releasestrategy[ReleaseStrategy] for more information.
48-
49-
[[x6.5-message-store-with-locks]]
50-
== The `LockRegistry` in the `MessageStore`
51-
52-
The `AbstractMessageGroupStore` now can be configured with a `LockRegistry` to perform series of persistent operation atomically.
53-
See xref:message-store.adoc#use-lock-registry[Use LockRegistry] for more information.
54-
55-
[[x6.5-observation-changes]]
56-
== Micrometer Observation Changes
57-
58-
The `SourcePollingChannelAdapter` endpoint now starts a `CONSUMER` kind observation for the received message.
59-
The `MessageReceiverContext` now distinguishes between `handler`, `message-source` and `message-producer` values for the `spring.integration.type` low cardinality tag.
60-
See xref:metrics.adoc#micrometer-observation[Micrometer Observation] for more information.
61-
62-
[[x6.5-mqtt-changes]]
63-
== Optional Paho MQTT Dependencies
64-
65-
The `org.eclipse.paho:org.eclipse.paho.client.mqttv3` dependency for `spring-integration-mqtt` is now also optional as `org.eclipse.paho:org.eclipse.paho.mqttv5.client` always was.
66-
See xref:mqtt.adoc[MQTT Support] for more information.
67-
68-
[[x6.5-kafka-changes]]
69-
== Apache Kafka support Changes
70-
71-
The `KafkaMessageSource` and `KafkaMessageDrivenChannelAdapter` now generate `MessageHeaders.ID` and `MessageHeaders.TIMESTAMP` headers by default as the rest of Spring Integration channel adapters.
72-
The behavior can be restored to the previous with injection of the `MessagingMessageConverter` with default settings.
73-
See xref:kafka.adoc[Apache Kafka Support] for more information.
74-
75-
[[x6.5-file-filter-changes]]
76-
== The Recent File Filter Support
77-
78-
The `AbstractRecentFileListFilter` strategy has been introduced to accept only those files which are not old enough according to the provided `age`.
79-
The respective implementations are provided: `RecentFileListFilter`, `FtpRecentFileListFilter`, `SftpRecentFileListFilter` and `SmbRecentFileListFilter`.
80-
See xref:file/reading.adoc[Reading Files] for more information.
81-
82-
[[x6.5-file-exists-mode-expression]]
83-
== FileExistsMode Expression Support
84-
85-
The remote file gateways (`AbstractRemoteFileOutboundGateway`) now support dynamic resolution of `FileExistsMode` at runtime via SpEL expressions.
86-
See xref:ftp/rft.adoc[Remote File Gateways] for more information.
87-
88-
[[x6.5-hazelcast-changes]]
89-
== Hazelcast Module Deprecations
90-
91-
The `HazelcastLockRegistry` and Hazelcast `LeaderInitiator` have been deprecated due to Hazelcast CP Subsystem migration to Enterprise Edition.
92-
See xref:hazelcast.adoc[Hazelcast Support] for more information.
93-
94-
[[x6.5-jdbc-changes]]
95-
== JDBC Support
96-
97-
The `BeanPropertySqlParameterSourceFactory` uses now internally the `MapSqlParameterSource` if provided input is a `Map`.
98-
Also, `JdbcMessageHandler` exposes a `usePayloadAsParameterSource` flag to allow to deal with parameter source only against message payload.
99-
That's where the mentioned `MapSqlParameterSource` comes useful for request messages with map payloads.
100-
See xref:jdbc.adoc[JDBC Support] for more information.
101-
102-
[[x6.5-redis-changes]]
103-
== Redis Stream Support
104-
105-
The `ReactiveRedisStreamMessageHandler` now exposes a `Function<Message<?>, RedisStreamCommands.XAddOptions>` to provide additional `XADD` option via convenient `RedisStreamCommands.XAddOptions` API.
106-
See xref:redis.adoc#redis-stream-outbound[Redis Support] for more information.

0 commit comments

Comments
 (0)