Commit Graph

11648 Commits

Author SHA1 Message Date
Artem Bilan
34bdff04c4 GH-8893: ExpERHA: Copy headers into ErrorMessage
Fixes: #8893

Simplify the target flows logic for `ExpressionEvaluatingRequestHandlerAdvice.failureChannel`
when no exception is re-thrown and target flow would like to produce a reply.

Currently, there is need in extra logic like `.enrichHeaders(e -> e.replyChannelExpression("payload.failedMessage.headers[replyChannel]"))`

* Copy failed `Message` headers into an `ErrorMessage` before sending it into the `failureChannel` from the `ExpressionEvaluatingRequestHandlerAdvice`
2024-02-07 14:18:27 -05:00
Artem Bilan
dbd46dfe3d GH-8889: FluxMCh: propagate context per message
Fixes: #8889

* Gather the current thread local state for the message into `IntegrationMessageHeaderAccessor.REACTOR_CONTEXT` header
before `this.sink.tryEmitNext(messageToEmit)`
* Restore thread locals for the current message in the `ReactiveStreamsConsumer.SubscriberDecorator` just before `this.delegate.onNext(messageToDeliver)`

**Cherry-pick to `6.2.x`**
2024-02-07 11:19:53 -05:00
Václav Haisman
8b877fc887 Fix LogMessage placeholders in MqttHeaderMapper
Fixes: #8888 

* Fix `LogMessage` formatting placeholders in `MqttHeaderMapper`

**cherry-pick to `6.2.x` & `6.1.x`
2024-02-07 08:57:17 -05:00
Artem Bilan
91ce70d1ad GH-8885: Upgrade to Hibernate 6.4.3.Final
Fixes: #8885

Looks like Hibernate does not modify provided entity instance on `merge` anymore.

* Fix JPA tests to verify that returned after merge entity has all the expected properties set
2024-02-05 12:51:45 -05:00
dependabot[bot]
09897b05eb Bump debeziumVersion from 2.5.0.Final to 2.5.1.Final (#8886)
Bumps `debeziumVersion` from 2.5.0.Final to 2.5.1.Final.

Updates `io.debezium:debezium-embedded` from 2.5.0.Final to 2.5.1.Final

Updates `io.debezium:debezium-connector-mysql` from 2.5.0.Final to 2.5.1.Final

---
updated-dependencies:
- dependency-name: io.debezium:debezium-embedded
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.debezium:debezium-connector-mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 00:38:42 +00:00
dependabot[bot]
d99c0338f6 Bump com.icegreen:greenmail from 2.1.0-alpha-3 to 2.1.0-alpha-4 (#8887)
Bumps [com.icegreen:greenmail](https://github.com/greenmail-mail-test/greenmail) from 2.1.0-alpha-3 to 2.1.0-alpha-4.
- [Release notes](https://github.com/greenmail-mail-test/greenmail/releases)
- [Commits](https://github.com/greenmail-mail-test/greenmail/compare/release-2.1.0-alpha-3...release-2.1.0-alpha-4)

---
updated-dependencies:
- dependency-name: com.icegreen:greenmail
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-04 00:38:00 +00:00
Artem Bilan
2fa69618af GH-8884: Upgrade to json-path:2.9.0
Fixes: #8884
2024-02-02 16:08:01 -05:00
Václav Haisman
7dead9cc94 GH-8879: Add MQTT subscription identifier
Fixes: #8879

To workaround the problem with `$share/` subscriptions the `Mqttv5PahoMessageDrivenChannelAdapter` must provide a `subscriptionIdentifier` into `MqttProperties` on `subscribe()`

* Introduce a `Mqttv5PahoMessageDrivenChannelAdapter.subscriptionIdentifierCounter` according to the MQTT specification:
> 3.8.2.1.2 Subscription Identifier: [..]The Subscription Identifier is associated with any subscription created or modified as the result of this SUBSCRIBE packet. If there is a Subscription Identifier, it is stored with the subscription. 

This one is associated with the MQTT session for the current subscriber and does not interfere into other sessions even if identifier is same from the counter.
It works because the Subscription identifier is per session and because you cannot have multiple connection with the same client ID.

**Cherry-pick to `6.2.x` & `6.1.x`**
2024-02-02 15:00:11 -05:00
Artem Bilan
7b2d8a4ba7 Fix race condition in the ReactiveInboundChannelAdapterTests
The `ReactiveInboundChannelAdapterTests.testTimeSupplierConsistency()` subscribes a bit later than `@InboundChannelAdapter`
might have started to emit messages.

* Add `autoStartup = "false"` to the `timeEndpoint` and start in the test only when `StepVerifier` is subscribed
* Add `stop()` for both endpoints in the test configuration to avoid memory pollution with not processed messages in between tests
2024-02-02 09:14:14 -05:00
Artem Bilan
d3924db5a1 GH-8873: Fix on-demand subscription for MQTT v5
Fixes: #8873

The `mqttClient.subscribe()` API does not check if properties are provided and fails on the
`subscriptionProperties.getSubscriptionIdentifiers().get(0)` call with an `IndexOutOfBoundsException`

* Use another `mqttClient.subscribe()` API in the `Mqttv5PahoMessageDrivenChannelAdapter` where there is not such a check
* Ensure that `addTopic(NAME)` works as expected in the `Mqttv5BackToBackTests`

**Cherry-pick to `6.2.x` & `6.1.x`**
2024-01-30 17:03:24 -05:00
Artem Bilan
25874b3ab9 Fix immutable list for Mqttv5MDChAdapter.subscriptions 2024-01-30 16:44:08 -05:00
Artem Bilan
19ad0dc02e GH-8876: Use long for AmqpHeaders.DELAY header
Fixes: #8876

* Use respective new `MessageProperties` `getDelayLong()` & `setDelayLong()`
2024-01-30 16:10:36 -05:00
Artem Bilan
0ba60bc752 Close TaskScheduler in tests
* Add `@DirtiesContext` to some tests where `TaskScheduler` is used
2024-01-30 14:29:40 -05:00
Neville Bonavia
62fd3e6c20 GH-8869: Fix NPE in RedisLockRegistry.setExecutor
Fixes: #8869

Do not set the `redisMessageListenerContainer`'s executor in the setter method
since the Redis Message Listener container is not initialised during configuration due to lazy loading

**Cherry-pick to `6.2.x` & `6.0.x`**
2024-01-30 13:01:19 -05:00
dependabot[bot]
35f3a87109 Bump the development-dependencies group with 2 updates (#8871)
Bumps the development-dependencies group with 2 updates: [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) and com.github.spotbugs.


Updates `org.testcontainers:testcontainers-bom` from 1.19.3 to 1.19.4
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.19.3...1.19.4)

Updates `com.github.spotbugs` from 6.0.6 to 6.0.7

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: com.github.spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-28 14:17:07 +00:00
Soby Chacko
deda4fac7d Fix 404 issue with the reference docs
Due to an antora ordering issue, the reference docs on the latest GA from
the project site throws an HTTP 404.

See spring-projects/spring-framework#32083 for more details.
2024-01-26 17:08:10 -05:00
Eric Haag
1433db6fcc Update Revved up by Develocity badge 2024-01-22 17:10:00 -05:00
dependabot[bot]
8f16f45fcd Bump the development-dependencies group with 2 updates (#8865)
Bumps the development-dependencies group with 2 updates: [org.hibernate.orm:hibernate-core](https://github.com/hibernate/hibernate-orm) and [io.spring.ge.conventions](https://github.com/spring-io/gradle-enterprise-conventions).


Updates `org.hibernate.orm:hibernate-core` from 6.4.1.Final to 6.4.2.Final
- [Release notes](https://github.com/hibernate/hibernate-orm/releases)
- [Changelog](https://github.com/hibernate/hibernate-orm/blob/6.4.2/changelog.txt)
- [Commits](https://github.com/hibernate/hibernate-orm/compare/6.4.1...6.4.2)

Updates `io.spring.ge.conventions` from 0.0.14 to 0.0.15
- [Release notes](https://github.com/spring-io/gradle-enterprise-conventions/releases)
- [Commits](https://github.com/spring-io/gradle-enterprise-conventions/compare/v0.0.14...v0.0.15)

---
updated-dependencies:
- dependency-name: org.hibernate.orm:hibernate-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: io.spring.ge.conventions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 03:52:37 +00:00
dependabot[bot]
f2c0f2342c Bump graalvmVersion from 23.1.1 to 23.1.2 (#8867)
Bumps `graalvmVersion` from 23.1.1 to 23.1.2.

Updates `org.graalvm.sdk:graal-sdk` from 23.1.1 to 23.1.2
- [Release notes](https://github.com/oracle/graal/releases)
- [Commits](https://github.com/oracle/graal/compare/vm-23.1.1...vm-23.1.2)

Updates `org.graalvm.polyglot:js` from 23.1.1 to 23.1.2
- [Release notes](https://github.com/oracle/graal/releases)
- [Commits](https://github.com/oracle/graal/compare/vm-23.1.1...vm-23.1.2)

---
updated-dependencies:
- dependency-name: org.graalvm.sdk:graal-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.graalvm.polyglot:js
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 00:21:12 +00:00
dependabot[bot]
a724b06080 Bump org.apache.groovy:groovy-bom from 5.0.0-alpha-4 to 5.0.0-alpha-5 (#8866)
Bumps [org.apache.groovy:groovy-bom](https://github.com/apache/groovy) from 5.0.0-alpha-4 to 5.0.0-alpha-5.
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.apache.groovy:groovy-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 00:20:57 +00:00
Artem Bilan
ae5472e2f5 GH-8863: Remove deprecated API from previous versions
Fixes: #8863
2024-01-17 12:31:43 -05:00
Artem Bilan
710558f68a GH-8850: Mqttv5MDChA: MqttSubscription-based config
Fixes: #8850

Expose `MqttSubscription`-based ctors for the `Mqttv5PahoMessageDrivenChannelAdapter`
2024-01-16 17:33:51 -05:00
Artem Bilan
39c99c0719 Fix phase for TaskScheduler instances in tests
Related to: #8856

Many tests create their own `ThreadPoolTaskScheduler` beans.
Therefore, its default phase might affect the memory and performance.

* Use `phase = SmartLifecycle.DEFAULT_PHASE / 2` for manual
 `ThreadPoolTaskScheduler` beans
* Migrate affected tests classes to JUnit 5
* Make some other configuration adjustments for better performance

**Cherry-pick to `6.2.x`**
2024-01-16 11:26:51 -05:00
dependabot[bot]
ed9616a466 Bump org.springframework.ws:spring-ws-bom from 4.0.9 to 4.0.10 (#8860)
Bumps [org.springframework.ws:spring-ws-bom](https://github.com/spring-projects/spring-ws) from 4.0.9 to 4.0.10.
- [Release notes](https://github.com/spring-projects/spring-ws/releases)
- [Commits](https://github.com/spring-projects/spring-ws/compare/v4.0.9...v4.0.10)

---
updated-dependencies:
- dependency-name: org.springframework.ws:spring-ws-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 02:21:23 +00:00
dependabot[bot]
b692080160 Bump io.lettuce:lettuce-core from 6.3.0.RELEASE to 6.3.1.RELEASE (#8861)
Bumps [io.lettuce:lettuce-core](https://github.com/lettuce-io/lettuce-core) from 6.3.0.RELEASE to 6.3.1.RELEASE.
- [Release notes](https://github.com/lettuce-io/lettuce-core/releases)
- [Changelog](https://github.com/lettuce-io/lettuce-core/blob/6.3.1.RELEASE/RELEASE-NOTES.md)
- [Commits](https://github.com/lettuce-io/lettuce-core/compare/6.3.0.RELEASE...6.3.1.RELEASE)

---
updated-dependencies:
- dependency-name: io.lettuce:lettuce-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 02:13:55 +00:00
dependabot[bot]
c9ae430a95 Bump org.springframework:spring-framework-bom from 6.1.2 to 6.1.3 (#8862)
Bumps [org.springframework:spring-framework-bom](https://github.com/spring-projects/spring-framework) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/spring-projects/spring-framework/releases)
- [Commits](https://github.com/spring-projects/spring-framework/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: org.springframework:spring-framework-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 02:07:58 +00:00
dependabot[bot]
7df7392a87 Bump the development-dependencies group with 2 updates (#8858)
Bumps the development-dependencies group with 2 updates: org.apache.tomcat.embed:tomcat-embed-websocket and com.github.spotbugs.


Updates `org.apache.tomcat.embed:tomcat-embed-websocket` from 10.1.17 to 10.1.18

Updates `com.github.spotbugs` from 6.0.5 to 6.0.6

---
updated-dependencies:
- dependency-name: org.apache.tomcat.embed:tomcat-embed-websocket
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: com.github.spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-13 21:06:54 -05:00
Artem Bilan
e5802001f5 Fix typo in the pr-build.yml 2024-01-13 20:51:21 -05:00
Artem Bilan
833b847cb6 Upgrade to reusable workflows v2 2024-01-13 20:47:59 -05:00
dependabot[bot]
263c56bb60 Bump io.projectreactor:reactor-bom from 2023.0.1 to 2023.0.2 (#8859)
Bumps [io.projectreactor:reactor-bom](https://github.com/reactor/reactor) from 2023.0.1 to 2023.0.2.
- [Release notes](https://github.com/reactor/reactor/releases)
- [Commits](https://github.com/reactor/reactor/compare/2023.0.1...2023.0.2)

---
updated-dependencies:
- dependency-name: io.projectreactor:reactor-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 01:12:25 +00:00
Artem Bilan
11e0ea1305 GH-8856: Adjust phase for TaskScheduler global bean
Fixes: #8856

The `ThreadPoolTaskScheduler` in Spring Framework manages now a lifecycle
with a `Integer.MAX_VALUE` phase by default.
This causes a wait block for scheduled tasks in the `AbstractPollingEndpoint` instances.
These tasks are cancelled by in the later `Integer.MAX_VALUE / 2` phase.
So, we have a lifecycle deadlock on context close

* Fix `DefaultConfiguringBeanFactoryPostProcessor.registerTaskScheduler()`
with a `.addPropertyValue("phase", SmartLifecycle.DEFAULT_PHASE / 2)`
to let the `AbstractPollingEndpoint` to cancel its currently scheduled task
to avoid possible pollution with unexpected (and lost) messages

**Cherry-pick to `6.2.x`**
2024-01-12 13:51:45 -05:00
Artem Bilan
40d4150dae Fix deprecation warnings
* Remove `forkEvery = 1000` since where the build fails there is no way find the reason
* Rework affected test classes to use JUnit 5 API
* Use Java text block for JSON snippets in the test
2024-01-12 12:38:33 -05:00
Artem Bilan
f27a6410c6 Some Gradle build optimizations 2024-01-12 10:04:02 -05:00
Artem Bilan
6a1795802e Fix updateCopyright Gradle task to read files in UTF-8
This would avoid non-ASCII symbols breakage on those operating systems where UTF-8 is not default
2024-01-11 13:32:06 -05:00
Artem Bilan
5d55753dae Fix typos in mongodb.adoc 2024-01-08 09:30:25 -05:00
dependabot[bot]
4906c8b132 Bump the development-dependencies group with 1 update (#8855)
Bumps the development-dependencies group with 1 update: com.github.spotbugs.


Updates `com.github.spotbugs` from 6.0.4 to 6.0.5

---
updated-dependencies:
- dependency-name: com.github.spotbugs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-07 00:27:09 +00:00
Artem Bilan
0b60dfc9d1 GH-8852: Fix TcpNetServerConnectionFactory.run loop
Fixes: #8852

The `while (true) {` causes the thread to be blocked forever.
The `stop()` waits on the `if (!executorService.awaitTermination(10, TimeUnit.SECONDS)) {` the whole time

* Fix with the `while (isActive()) {`
* Remove the `ConnectionFactoryTests.testEarlyCloseNet()` since we cannot reach expectations because of
race condition between `start()` and `stop()`

**Cherry-pick to `6.2.x` & `6.1.x`**
2024-01-05 15:53:37 -05:00
Artem Bilan
b41a9f54d9 GH-8851: Add Expression options to FileTranMHSpec
Fixes: #8851
2024-01-05 13:22:22 -05:00
Artem Bilan
a3715d04c0 Make CONTRIBUTING.adoc & README.md as actual 2024-01-05 11:31:52 -05:00
Artem Bilan
e4ba493c94 Fix race condition in ObsPropagationChInterTests
The `QueueChannel.receive()` may answer before the `QueueChannel.send()`
observation is closed
2024-01-03 08:52:50 -05:00
dependabot[bot]
ecb1aa827e Bump org.apache.logging.log4j:log4j-bom from 2.22.0 to 2.22.1 (#8849)
Bumps [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) from 2.22.0 to 2.22.1.
- [Release notes](https://github.com/apache/logging-log4j2/releases)
- [Changelog](https://github.com/apache/logging-log4j2/blob/2.x/RELEASE-NOTES.adoc)
- [Commits](https://github.com/apache/logging-log4j2/compare/rel/2.22.0...rel/2.22.1)

---
updated-dependencies:
- dependency-name: org.apache.logging.log4j:log4j-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-31 00:41:08 +00:00
Artem Bilan
ee1bbc829d Add schedule & concurrency to ci-snapshot
Make sure that night build is not using Gradle cache.
2023-12-24 18:02:25 -08:00
Artem Bilan
b4fc3479d3 Use spring-dispatch-docs-build.yml
**Cherry-pick to `6.2.x`**
2023-12-22 14:57:51 -05:00
Artem Bilan
85d3284834 Use reusable WF for deploy-docs.yml 2023-12-22 13:37:59 -05:00
Artem Bilan
726a59da37 Improve deploy-docs.yml
* Build only against supported branches and tags
* Move `GH_TOKEN` to the common `env` section
2023-12-22 12:17:57 -05:00
dependabot[bot]
82f4197cdf Bump org.apache.groovy:groovy-bom from 5.0.0-alpha-3 to 5.0.0-alpha-4 (#8848)
Bumps [org.apache.groovy:groovy-bom](https://github.com/apache/groovy) from 5.0.0-alpha-3 to 5.0.0-alpha-4.
- [Commits](https://github.com/apache/groovy/commits)

---
updated-dependencies:
- dependency-name: org.apache.groovy:groovy-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 16:53:49 +00:00
Artem Bilan
50ea6b1b02 Move Spring Security into dev group for Dependabot 2023-12-22 11:38:44 -05:00
dependabot[bot]
b9e85cca49 Bump debeziumVersion from 2.5.0.CR1 to 2.5.0.Final (#8834)
Bumps `debeziumVersion` from 2.5.0.CR1 to 2.5.0.Final.

Updates `io.debezium:debezium-embedded` from 2.5.0.CR1 to 2.5.0.Final

Updates `io.debezium:debezium-connector-mysql` from 2.5.0.CR1 to 2.5.0.Final

---
updated-dependencies:
- dependency-name: io.debezium:debezium-embedded
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: io.debezium:debezium-connector-mysql
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-22 03:27:57 +00:00
Artem Bilan
a183302b06 Downgrade to Jackson 2.15.3
It looks like Dokka Gradke plugin is suffering from breaking change from Jackson `2.16.0`
2023-12-21 22:13:04 -05:00
Artem Bilan
61f2bc4915 Disable classpath conflicts check
It looks like GraalVM jars are not valid zip files to open and iterate.
2023-12-21 21:54:16 -05:00