Skip to content

Commit

Permalink
Start version 6.2.0
Browse files Browse the repository at this point in the history
* Add Christian Tzolov to author name in the doc
* Move `whats-new.adoc` content to new `changes-6.0-6.1.adoc`
* Upgrade to Gradle `8.1.1`
* Upgrade to Spring Framework `6.1`
* Fix `StompSessionManagerTests` for deprecated `ConcurrentTaskScheduler` ctor
* Fix XML configs for Kafka to use types for ctor args instead of their names.
Apparently SF doesn't do a discovery by names anymore.
  • Loading branch information
artembilan committed May 17, 2023
1 parent 6433445 commit edbaf6d
Show file tree
Hide file tree
Showing 12 changed files with 112 additions and 102 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
7 changes: 4 additions & 3 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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">

<context:property-placeholder />
<context:property-placeholder/>

<bean id="cf" class="org.springframework.kafka.core.DefaultKafkaConsumerFactory">
<constructor-arg>
Expand All @@ -34,7 +34,7 @@
</bean>

<bean id="cp" class="org.springframework.kafka.listener.ConsumerProperties">
<constructor-arg name="topics" value="one"/>
<constructor-arg type="java.lang.String[]" value="one"/>
<property name="groupId" value="groupForTopic1"/>
</bean>

Expand All @@ -58,8 +58,7 @@

<int:chain input-channel="fromTwo" output-channel="lastChannel">
<int:transformer expression="payload + headers['kafka_receivedTopic']"/>
<int-kafka:outbound-gateway
kafka-template="replyingTemplate"/>
<int-kafka:outbound-gateway kafka-template="replyingTemplate"/>
<int:transformer expression="payload + headers['kafka_receivedTopic']"/>
</int:chain>

Expand All @@ -72,8 +71,7 @@
kafka-template="replyingTemplate"
request-channel="fromThree"/>

<int:transformer input-channel="fromThree"
expression="payload + headers['kafka_receivedTopic']"/>
<int:transformer input-channel="fromThree" expression="payload + headers['kafka_receivedTopic']"/>

<bean id="template" class="org.springframework.kafka.core.KafkaTemplate">
<constructor-arg ref="pf"/>
Expand All @@ -83,7 +81,7 @@
<constructor-arg ref="cf"/>
<constructor-arg>
<bean class="org.springframework.kafka.listener.ContainerProperties">
<constructor-arg name="topics" value="two"/>
<constructor-arg type="java.lang.String[]" value="two"/>
<property name="groupId" value="container1"/>
</bean>
</constructor-arg>
Expand All @@ -93,7 +91,7 @@
<constructor-arg ref="cf"/>
<constructor-arg>
<bean class="org.springframework.kafka.listener.ContainerProperties">
<constructor-arg name="topics" value="three"/>
<constructor-arg type="java.lang.String[]" value="three"/>
<property name="groupId" value="container3"/>
</bean>
</constructor-arg>
Expand All @@ -109,7 +107,7 @@
<constructor-arg ref="cf"/>
<constructor-arg>
<bean class="org.springframework.kafka.listener.ContainerProperties">
<constructor-arg name="topics" value="four"/>
<constructor-arg type="java.lang.String[]" value="four"/>
<property name="groupId" value="container4"/>
</bean>
</constructor-arg>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@
</bean>

<bean id="consumerProperties1" class="org.springframework.kafka.listener.ConsumerProperties">
<constructor-arg name="topics" value="topic1"/>
<constructor-arg value="topic1" type="java.lang.String[]"/>
<property name="groupId" value="group"/>
<property name="clientId" value="client"/>
<property name="consumerRebalanceListener" ref="rebal"/>
</bean>

<bean id="consumerProperties2" class="org.springframework.kafka.listener.ConsumerProperties">
<constructor-arg name="topics" value="topic1, topic2"/>
<constructor-arg value="topic1, topic2" type="java.lang.String[]"/>
<property name="groupId" value="group"/>
</bean>

Expand Down
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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;

Expand All @@ -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();
Expand Down
84 changes: 84 additions & 0 deletions src/reference/asciidoc/changes-6.0-6.1.adoc
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 2 additions & 0 deletions src/reference/asciidoc/history.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
Expand Down
2 changes: 1 addition & 1 deletion src/reference/asciidoc/index-header.adoc
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
86 changes: 5 additions & 81 deletions src/reference/asciidoc/whats-new.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit edbaf6d

Please sign in to comment.