diff --git a/build.gradle b/build.gradle index f9cf9634d5..c9156eadfe 100644 --- a/build.gradle +++ b/build.gradle @@ -108,7 +108,7 @@ ext { springKafkaVersion = '3.0.7' springRetryVersion = '2.0.1' springSecurityVersion = '6.1.0' - springVersion = '6.0.9' + springVersion = '6.1.0-SNAPSHOT' springWsVersion = '4.0.4' testcontainersVersion = '1.18.1' tomcatVersion = '10.1.8' diff --git a/gradle.properties b/gradle.properties index 0e5b1e8137..7b1579f388 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -version=6.1.1-SNAPSHOT +version=6.2.0-SNAPSHOT org.gradle.jvmargs=-Xmx1536M -Dfile.encoding=UTF-8 kotlin.jvm.target.validation.mode=IGNORE org.gradle.caching=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index ccebba7710..c1962a79e2 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 19acfb4ef2..2c3425d49e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=ff7bf6a86f09b9b2c40bb8f48b25fc19cf2b2664fd1d220cd7ab833ec758d0d7 -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionSha256Sum=e111cb9948407e26351227dabce49822fb88c37ee72f1d1582a69c68af2e702f +distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 79a61d421c..aeb74cbb43 100755 --- a/gradlew +++ b/gradlew @@ -85,9 +85,6 @@ done APP_BASE_NAME=${0##*/} APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -197,6 +194,10 @@ if "$cygwin" || "$msys" ; then done fi + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + # Collect all arguments for the java command; # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of # shell script including quotes and variable substitutions, so put them in diff --git a/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/AllXmlTests-context.xml b/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/AllXmlTests-context.xml index 0adbc813e6..344ffaa190 100644 --- a/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/AllXmlTests-context.xml +++ b/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/AllXmlTests-context.xml @@ -9,7 +9,7 @@ http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> - + @@ -34,7 +34,7 @@ - + @@ -58,8 +58,7 @@ - + @@ -72,8 +71,7 @@ kafka-template="replyingTemplate" request-channel="fromThree"/> - + @@ -83,7 +81,7 @@ - + @@ -93,7 +91,7 @@ - + @@ -109,7 +107,7 @@ - + diff --git a/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/KafkaInboundChannelAdapterParserTests-context.xml b/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/KafkaInboundChannelAdapterParserTests-context.xml index 51cc60ce06..bdd7a8ab9a 100644 --- a/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/KafkaInboundChannelAdapterParserTests-context.xml +++ b/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/KafkaInboundChannelAdapterParserTests-context.xml @@ -39,14 +39,14 @@ - + - + diff --git a/spring-integration-stomp/src/test/java/org/springframework/integration/stomp/StompSessionManagerTests.java b/spring-integration-stomp/src/test/java/org/springframework/integration/stomp/StompSessionManagerTests.java index e8cb89e247..a89dc8d7bb 100644 --- a/spring-integration-stomp/src/test/java/org/springframework/integration/stomp/StompSessionManagerTests.java +++ b/spring-integration-stomp/src/test/java/org/springframework/integration/stomp/StompSessionManagerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2016-2022 the original author or authors. + * Copyright 2016-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package org.springframework.integration.stomp; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -42,7 +43,7 @@ public class StompSessionManagerTests { @Test public void testDoConnectFailure() throws Exception { StompClientSupport stompClient = mock(StompClientSupport.class); - stompClient.setTaskScheduler(new ConcurrentTaskScheduler()); + stompClient.setTaskScheduler(new ConcurrentTaskScheduler(Executors.newSingleThreadScheduledExecutor())); AbstractStompSessionManager sessionManager = new AbstractStompSessionManager(stompClient) { private final AtomicBoolean thrown = new AtomicBoolean(); diff --git a/src/reference/asciidoc/changes-6.0-6.1.adoc b/src/reference/asciidoc/changes-6.0-6.1.adoc new file mode 100644 index 0000000000..10cc6a0f09 --- /dev/null +++ b/src/reference/asciidoc/changes-6.0-6.1.adoc @@ -0,0 +1,84 @@ +[[migration-6.0-6.1]] +=== Changes between 6.0 and 6.1 + +[[x6.1-new-components]] +=== New Components + +[[x6.1-zip]] +==== Zip Support + +The Zip Spring Integration Extension project has been migrated as the `spring-integration-zip` module. +See <<./zip.adoc#zip,Zip Support>> for more information. + +[[x6.1-context-holder-advice]] +==== `ContextHolderRequestHandlerAdvice` + +The `ContextHolderRequestHandlerAdvice` allows to store a value from a request message into some context around `MessageHandler` execution. +See <<./handler-advice.adoc#context-holder-advice, Context Holder Advice>> for more information. + +[[x6.1-handle-reactive]] +==== The `handleReactive()` operator for Java DSL +The `IntegrationFlow` can now end with a convenient `handleReactive(ReactiveMessageHandler)` operator. +See <<./reactive-streams.adoc#reactive-message-handler, `ReactiveMessageHandler`>> for more information. + +[[x6.1-partitioned-channel]] +==== `PartitionedChannel` +A new `PartitionedChannel` has been introduced to process messages with the same partition key in the same thread. +See <<./channel.adoc#partitioned-channel, `PartitionedChannel`>> for more information. + +[[x6.1-general]] +=== General Changes + +- Added support for transforming to/from Protocol Buffers. +See <<./transformer.adoc#Protobuf-transformers, Protocol Buffers Transformers>> for more information. + +- The `MessageFilter` now emits a warning into logs when message is silently discarded and dropped. +See <<./filter.adoc#filter, Filter>> for more information. + +- The default timeout for send and receive operations in gateways and replying channel adapters has been changed from infinity to `30` seconds. +Only one left as a `1` second is a `receiveTimeout` for `PollingConsumer` to not block a scheduler thread too long and let other queued tasks to be performed with the `TaskScheduler`. + +- The `IntegrationComponentSpec.get()` method has been deprecated with removal planned for the next version. +Since `IntegrationComponentSpec` is a `FactoryBean`, its bean definition must stay as is without any target object resolutions. +The Java DSL and the framework by itself will manage the `IntegrationComponentSpec` lifecycle. +See <<./dsl.adoc#java-dsl, Java DSL>> for more information. + +- The `AbstractMessageProducingHandler` is marked as an `async` by default if its output channel is configured to a `ReactiveStreamsSubscribableChannel`. +See <<./service-activator.adoc#async-service-activator,Asynchronous Service Activator>> for more information. + +[[x6.1-web-sockets]] +=== Web Sockets Changes + +A `ClientWebSocketContainer` can now be configured with a predefined `URI` instead of a combination of `uriTemplate` and `uriVariables`. +See <<./web-sockets.adoc#web-socket-overview, WebSocket Overview>> for more information. + +[[x6.1-jms]] +=== JMS Changes + +The `JmsInboundGateway`, via its `ChannelPublishingJmsMessageListener`, can now be configured with a `replyToExpression` to resolve a reply destination against the request message at runtime. +See <<./jms.adoc#jms-inbound-gateway, JMS Inbound Gateway>> for more information. + +[[x6.1-mail]] +=== Mail Changes + +The (previously deprecated) `ImapIdleChannelAdapter.sendingTaskExecutor` property has been removed in favor of an asynchronous message process downstream in the flow. +See <<./mail.adoc#mail-inbound, Mail-receiving Channel Adapter>> for more information. + +[[x6.1-file]] +=== Files Changes + +The `FileReadingMessageSource` now exposes `watchMaxDepth` and `watchDirPredicate` options for the `WatchService`. +See <<./file.adoc#watch-service-directory-scanner, `WatchServiceDirectoryScanner`>> for more information. + +[[x6.1-amqp]] +=== AMQP Changes + +The Java DSL API for Rabbit Streams (the `RabbitStream` factory) exposes additional properties for simple configurations. +See <<./amqp.adoc#rmq-streams, `RabbitMQ Stream Queue Support`>> for more information. + + +[[x6.1-jdbc]] +=== JDBC Changes + +The `DefaultLockRepository` now exposes setters for `insert`, `update` and `renew` queries. +See <<./jdbc.adoc#jdbc-lock-registry, JDBC Lock Registry>> for more information. diff --git a/src/reference/asciidoc/history.adoc b/src/reference/asciidoc/history.adoc index fda99eaf6a..1933f54c7c 100644 --- a/src/reference/asciidoc/history.adoc +++ b/src/reference/asciidoc/history.adoc @@ -2,6 +2,8 @@ == Change History // BE SURE TO PRECEDE ALL include:: with a blank line - see https://github.com/asciidoctor/asciidoctor/issues/1297 +include::./changes-6.0-6.1.adoc[] + include::./changes-5.5-6.0.adoc[] include::./changes-5.4-5.5.adoc[] diff --git a/src/reference/asciidoc/index-header.adoc b/src/reference/asciidoc/index-header.adoc index 031377fa13..5a3e0b49a1 100644 --- a/src/reference/asciidoc/index-header.adoc +++ b/src/reference/asciidoc/index-header.adoc @@ -1,6 +1,6 @@ [[spring-integration-reference]] = Spring Integration Reference Guide -Mark Fisher; Marius Bogoevici; Iwein Fuld; Jonas Partner; Oleg Zhurakousky; Gary Russell; Dave Syer; Josh Long; David Turanski; Gunnar Hillert; Artem Bilan; Amol Nayak; Jay Bryant +Mark Fisher; Marius Bogoevici; Iwein Fuld; Jonas Partner; Oleg Zhurakousky; Gary Russell; Dave Syer; Josh Long; David Turanski; Gunnar Hillert; Artem Bilan; Amol Nayak; Jay Bryant; Christian Tzolov (C) 2009 - 2023 VMware, Inc. All rights reserved. diff --git a/src/reference/asciidoc/whats-new.adoc b/src/reference/asciidoc/whats-new.adoc index bb7cfb7db8..3d152486e5 100644 --- a/src/reference/asciidoc/whats-new.adoc +++ b/src/reference/asciidoc/whats-new.adoc @@ -2,96 +2,20 @@ = What's New? [[spring-integration-intro-new]] -For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 6.1. +For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 6.2. If you are interested in the changes and features that were introduced in earlier versions, see the <<./history.adoc#history,Change History>>. [[whats-new]] -== What's New in Spring Integration 6.1? +== What's New in Spring Integration 6.2? -If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 6.1 development process. +If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 6.2 development process. In general the project has been moved to the latest dependency versions. -[[x6.1-new-components]] +[[x6.2-new-components]] === New Components -[[x6.1-zip]] -==== Zip Support - -The Zip Spring Integration Extension project has been migrated as the `spring-integration-zip` module. -See <<./zip.adoc#zip,Zip Support>> for more information. - -[[x6.1-context-holder-advice]] -==== `ContextHolderRequestHandlerAdvice` - -The `ContextHolderRequestHandlerAdvice` allows to store a value from a request message into some context around `MessageHandler` execution. -See <<./handler-advice.adoc#context-holder-advice, Context Holder Advice>> for more information. - -[[x6.1-handle-reactive]] -==== The `handleReactive()` operator for Java DSL -The `IntegrationFlow` can now end with a convenient `handleReactive(ReactiveMessageHandler)` operator. -See <<./reactive-streams.adoc#reactive-message-handler, `ReactiveMessageHandler`>> for more information. - -[[x6.1-partitioned-channel]] -==== `PartitionedChannel` -A new `PartitionedChannel` has been introduced to process messages with the same partition key in the same thread. -See <<./channel.adoc#partitioned-channel, `PartitionedChannel`>> for more information. - -[[x6.1-general]] +[[x6.2-general]] === General Changes - - - Added support for transforming to/from Protocol Buffers. - See <<./transformer.adoc#Protobuf-transformers, Protocol Buffers Transformers>> for more information. - - - The `MessageFilter` now emits a warning into logs when message is silently discarded and dropped. -See <<./filter.adoc#filter, Filter>> for more information. - - - The default timeout for send and receive operations in gateways and replying channel adapters has been changed from infinity to `30` seconds. -Only one left as a `1` second is a `receiveTimeout` for `PollingConsumer` to not block a scheduler thread too long and let other queued tasks to be performed with the `TaskScheduler`. - - - The `IntegrationComponentSpec.get()` method has been deprecated with removal planned for the next version. -Since `IntegrationComponentSpec` is a `FactoryBean`, its bean definition must stay as is without any target object resolutions. -The Java DSL and the framework by itself will manage the `IntegrationComponentSpec` lifecycle. -See <<./dsl.adoc#java-dsl, Java DSL>> for more information. - - - The `AbstractMessageProducingHandler` is marked as an `async` by default if its output channel is configured to a `ReactiveStreamsSubscribableChannel`. -See <<./service-activator.adoc#async-service-activator,Asynchronous Service Activator>> for more information. - -[[x6.1-web-sockets]] -=== Web Sockets Changes - -A `ClientWebSocketContainer` can now be configured with a predefined `URI` instead of a combination of `uriTemplate` and `uriVariables`. -See <<./web-sockets.adoc#web-socket-overview, WebSocket Overview>> for more information. - -[[x6.1-jms]] -=== JMS Changes - -The `JmsInboundGateway`, via its `ChannelPublishingJmsMessageListener`, can now be configured with a `replyToExpression` to resolve a reply destination against the request message at runtime. -See <<./jms.adoc#jms-inbound-gateway, JMS Inbound Gateway>> for more information. - -[[x6.1-mail]] -=== Mail Changes - -The (previously deprecated) `ImapIdleChannelAdapter.sendingTaskExecutor` property has been removed in favor of an asynchronous message process downstream in the flow. -See <<./mail.adoc#mail-inbound, Mail-receiving Channel Adapter>> for more information. - -[[x6.1-file]] -=== Files Changes - -The `FileReadingMessageSource` now exposes `watchMaxDepth` and `watchDirPredicate` options for the `WatchService`. -See <<./file.adoc#watch-service-directory-scanner, `WatchServiceDirectoryScanner`>> for more information. - -[[x6.1-amqp]] -=== AMQP Changes - -The Java DSL API for Rabbit Streams (the `RabbitStream` factory) exposes additional properties for simple configurations. -See <<./amqp.adoc#rmq-streams, `RabbitMQ Stream Queue Support`>> for more information. - - -[[x6.1-jdbc]] -=== JDBC Changes - -The `DefaultLockRepository` now exposes setters for `insert`, `update` and `renew` queries. -See <<./jdbc.adoc#jdbc-lock-registry, JDBC Lock Registry>> for more information.