Commit Graph

4175 Commits

Author SHA1 Message Date
spring-builds
2aa8d495cd Bumping dependency versions after release 2024-12-03 00:23:06 +00:00
spring-builds
f1e6c87814 Bumping versions to 4.2.1-SNAPSHOT after release 2024-12-03 00:21:56 +00:00
spring-builds
f03ea2582a Going back to snapshots 2024-12-03 00:21:54 +00:00
spring-builds
b26353cfcc Update SNAPSHOT to 4.2.0 2024-12-03 00:18:38 +00:00
spring-builds
8cdde2e3fd Bumping versions 2024-11-23 14:13:43 +00:00
Oleg Zhurakousky
a67de87e42 Merge pull request #3029 from beni0888/fix-typo-overview-error-handling
Fix typo in overview-error-handling.adoc
2024-11-18 14:09:43 +01:00
Ömer Çelik
dccf8ae16a Message Channel should be closed in specified cases : application shutdown, unbinding or exceeding cache size.
checkstyle fixes

Resolves #2869
Resolves #3026
2024-11-18 14:07:48 +01:00
Artem Bilan
a9fe0c2c3c GH-3040: Add virtual threads customizer for RabbitMQ binder
Fixes: #3040
Resolves #3041

This change adds out-of-the-box `ListenerContainerCustomizer<AbstractMessageListenerContainer>`
to set `VirtualThreadTaskExecutor` into an `AbstractMessageListenerContainer` created by the binder
when `Threading.VIRTUAL` condition is met
2024-11-18 12:10:49 +01:00
Fernando Blanch
a1c7773a82 Change order of the registry of sources classes after configuring Environment with all propertySources, so that sources classes can resolve conditions configurations. Fixes GH-3031
Resolves #3032
2024-11-18 11:36:22 +01:00
spring-builds
1b083c943e Going back to snapshots 2024-11-08 01:39:01 +00:00
spring-builds
34798150d8 Update SNAPSHOT to 4.2.0-RC1 2024-11-08 01:36:20 +00:00
Jesús Miguel Benito Calzada
84e7238922 Fix typo in overview-error-handling.adoc 2024-11-06 10:28:12 +01:00
Soby Chacko
e14bc1cb51 Revert "Adding Spring Cloud Stream Version To Message Headers For Easier Debugging Of Issues."
This reverts commit a8fb34db0e.
2024-11-05 16:50:08 -05:00
Soby Chacko
13874dc2aa Addressing checkstyle issues 2024-11-05 16:28:12 -05:00
Oleg Zhurakousky
505a33be9e Add additional utility methods 2024-11-05 15:53:52 +01:00
Oleg Zhurakousky
baaf8d555a GH-2969 Initial commit to add StandardBatchUtils 2024-11-05 15:53:52 +01:00
Ömer Çelik
a8fb34db0e Adding Spring Cloud Stream Version To Message Headers For Easier Debugging Of Issues.
Fix checkstyles
Resolves #3027
2024-11-05 12:50:19 +01:00
Artem Bilan
17ac6352e4 Fix FunctionConfiguration.sanitize() for generics
The `FunctionConfiguration.sanitize()` use a `rawtypes` trying to hide
generics routines.

Spring Integration 6.4 has introduced a `BaseMessageBuilder` which does not work
with `rawtypes`.

* Fix `FunctionConfiguration.sanitize()` to expose a `<P>` generic argument
to satisfy a new `MessageBuilder` byte code, plus to meet all the expectations
of this method consumers
* In addition perform some code clean to optimize a usage of `MessageBuilder`:
 - `setHeader()` does set the value overriding existing one
 - `setHeader()` removes the entry if provided value is `null`
 - This way we just can go ahead with `MessageBuilder` method chain avoiding extra conditions
2024-11-04 16:25:24 -05:00
Oleg Zhurakousky
ffb62cb81b Merge pull request #3025 from aviv-amdocs/patch-1
Docs: Update timeout default
2024-10-30 19:24:38 +01:00
aviv-amdocs
01a508187c Update timeout default 2024-10-30 15:01:00 +02:00
Oleg Zhurakousky
cca19a5772 Fix avro tests 2024-10-28 17:13:58 +01:00
Soby Chacko
8b6b1271ef GH-3024: Add logging for exceptions in KafkaTopicProvisioner
Related to https://github.com/spring-cloud/spring-cloud-stream/issues/3024
2024-10-24 15:02:50 -04:00
Oleg Zhurakousky
12468dcd0a Fix checkstyles 2024-10-21 17:57:07 +02:00
Oleg Zhurakousky
28e0a69e55 Merge pull request #3022 from cppwfs/SCSt-CONN-NAME-FIX
Update docs to show correct prefix for connection-name-prefix
2024-10-21 16:16:43 +02:00
Glenn Renfro
efbe2cd005 Update docs to show correct prefix for connection-name-prefix
Currently docs display the correct prefix as spring.cloud.stream.binder where it should be spring.cloud.stream.rabbit.binder
2024-10-21 10:06:50 -04:00
spring-builds
93478a8922 Bumping versions 2024-10-17 14:21:53 +00:00
Artem Bilan
c96a62f163 GH-2939: Rely on custom AmqpHeaders.RETRY_COUNT for server retries
Fixes: https://github.com/spring-cloud/spring-cloud-stream/issues/2939

The RabbitMQ 4.0 does not deal with client side `x-*` headers.
Therefore, an `x-death.count` is not incremented anymore when
message is re-published from client back to the broker.

* Spring AMQP 3.2 has introduced an `AmqpHeaders.RETRY_COUNT` custom header.
Use `messageProperties.incrementRetryCount()` in the `RabbitMessageChannelBinder`
when we re-published message back to the broker for server-side retries
* Fix docs respectively

Resolves #3019
2024-10-17 12:00:11 +02:00
Soby Chacko
bf9ea9e626 Fix Rabbit binder compiliation issues 2024-10-14 14:19:45 -04:00
Soby Chacko
d9326ada75 Adding kotlin-stdlib-jdk8 depedency in spring-cloud-stream-integration-tests 2024-10-14 12:33:23 -04:00
Oleg Zhurakousky
723f44dd83 Merge pull request #3021 from spring-cloud/dependabot/maven/schema-registry/org.apache.avro-avro-1.11.4
Bump org.apache.avro:avro from 1.11.3 to 1.11.4 in /schema-registry
2024-10-09 08:32:21 +02:00
dependabot[bot]
d68dece939 Bump org.apache.avro:avro from 1.11.3 to 1.11.4 in /schema-registry
Bumps org.apache.avro:avro from 1.11.3 to 1.11.4.

---
updated-dependencies:
- dependency-name: org.apache.avro:avro
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 14:56:35 +00:00
Oleg Zhurakousky
3c70c04806 GH-3020 Make Kotlin dependency optional
Resolves #3020
2024-10-08 14:53:43 +02:00
buildmaster
a81fb04286 Going back to snapshots 2024-10-08 01:06:11 +00:00
buildmaster
67d4d34a58 Update SNAPSHOT to 4.2.0-M2 2024-10-08 01:03:40 +00:00
Oleg Zhurakousky
559d49381f Merge pull request #3017 from omercelikceng/codecleanupp
Code Cleanup - StringBuilder, Redundant Iteration,  Record
2024-10-07 18:44:05 +02:00
Oleg Zhurakousky
eea905f692 Merge pull request #3015 from sobychacko/gh-2985
GH-2985: Add Kafka Listener Container Customizer interfaces and docum…
2024-10-07 18:43:26 +02:00
Ömer Çelik
cbfd3aa995 Change "synchronized" to reentrant lock for virtual-threads
Fix checkstyles before merge

Code cleanup

Double-Checked Locking Optimization was used to avoid unnecessary locking overhead.
2024-10-07 18:40:51 +02:00
Oleg Zhurakousky
7a5e5d0541 Fix broken cross reference links
Resolves #3018
2024-10-07 18:07:44 +02:00
Soby Chacko
06040728cc Cleanup spring-kafka dependency version. 2024-10-07 10:21:27 -04:00
Ömer Çelik
e445a34f8d Code Cleanup - StringBuilder, Redundant Iteration, Record 2024-10-05 01:32:15 +03:00
Soby Chacko
f8d6caa429 GH-2985: Add Kafka Listener Container Customizer interfaces and documentation
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2985

This commit introduces new customization options for Kafka listener containers
in Spring Cloud Stream, along with comprehensive documentation:

- Add KafkaListenerContainerCustomizer interface for Kafka-specific customization
  with access to extended consumer properties
- Extend ListenerContainerWithDlqAndRetryCustomizer to include access to
  extended consumer properties
- Update KafkaMessageChannelBinder to support the new customizer interfaces
- Implement KafkaListenerContainerCustomizerTests for integration testing
- Add detailed AsciiDoc reference documentation explaining the purpose,
  usage, and hierarchy of these customizer interfaces:
  * ListenerContainerCustomizer (existing)
  * KafkaListenerContainerCustomizer (new)
  * ListenerContainerWithDlqAndRetryCustomizer (extended)
- Update navigation to include the new documentation

These changes enhance the flexibility and configurability of Kafka consumer
endpoints in Spring Cloud Stream applications, allowing users to fine-tune
their listener containers based on specific requirements and scenarios,
with improved access to Kafka-specific properties.
2024-10-04 17:53:13 -04:00
Oleg Zhurakousky
6f1b5a4d93 Fix checkstyles before merge
Resolves #3012
2024-10-02 12:25:22 +02:00
김동근
94142aa80f change synchronized to reentrant lock in streambridge 2024-10-02 12:15:47 +02:00
Oleg Zhurakousky
56d86c9807 GH-2974 Fix validation when only 'default' properties are used
Resolves #2974
2024-10-02 12:14:47 +02:00
Oleg Zhurakousky
6f9809eba1 Fix depreactions 2024-09-27 16:41:56 +02:00
Oleg Zhurakousky
9aabfbe6ea Merge pull request #3011 from kurthong/BindingServiceProperties.bindings-property-should-be-thread-safe
Ensuring Thread-Safety for BindingServiceProperties.bindings
2024-09-27 11:00:21 +02:00
kurt
fd20513f86 BindingServiceProperties.bindings property should be thread-safe.
First, thanks for the excellent StreamBridge feature! I've found it very useful.
However, I occasionally encounter the following exception during race conditions.
```
java.lang.NullPointerException: null
    at java.base/java.util.TreeMap.rotateRight(TreeMap.java:2240)
    at java.base/java.util.TreeMap.fixAfterInsertion(TreeMap.java:2272)
    at java.base/java.util.TreeMap.put(TreeMap.java:580)
    at org.springframework.cloud.stream.config.BindingServiceProperties.bindToDefault(BindingServiceProperties.java:397)
    at org.springframework.cloud.stream.config.BindingServiceProperties.bindIfNecessary(BindingServiceProperties.java:381)
    at org.springframework.cloud.stream.config.BindingServiceProperties.getBindingProperties(BindingServiceProperties.java:301)
    at org.springframework.cloud.stream.function.StreamBridge.send(StreamBridge.java:149)
```
BindingServiceProperties.bindings property should be thread-safe.
2024-09-26 23:51:33 +09:00
Oleg Zhurakousky
2f4ae47276 GH-3009 Add post processing support for Supplier
Resolves #3009
2024-09-26 14:10:04 +02:00
Andy Wilkinson
b7f2f1bb2d Support Spring Boot's KafkaConnectionDetails for Kafka connections
- Integrate KafkaConnectionDetails, a Spring Boot component, in binder
- Update KafkaBinderConfigurationProperties to use KafkaConnectionDetails
- Modify KafkaTopicProvisioner to leverage KafkaConnectionDetails
- Adjust Kafka binder configurations to pass KafkaConnectionDetails
- Update tests to accommodate KafkaConnectionDetails changes
- Add KafkaConnectionDetails to shared.beans for auto-configuration

This change improves flexibility in configuring Kafka connections,
allowing for better support of externalized configuration management
and aligning with Spring Boot's connection abstraction model.
2024-09-24 16:53:08 -04:00
Soby Chacko
417551365b Add 4.1.x branch to the CI PR builds 2024-09-24 15:54:51 -04:00