Oleg Zhurakousky
1a01c6cbcc
GH-3105 Fix hashCode calculation for StreamBridge function
...
This would ensure that there are no collisions in hashCode calculation for cases where partitionKeyExpression is used in one of the bindings while partitionCount of any of the bindings may result in teh overall StreamBridge function having the same hashCode
Resolves #3105
2025-03-27 21:59:39 +01:00
Oleg Zhurakousky
91064171e2
GH-3101 Make Binder an instance variable
...
Resolves #3101
2025-03-25 15:12:01 +01:00
Oleg Zhurakousky
f48982971a
Fix formatting
2025-03-24 23:41:15 +01:00
2tsumo-hitori
bb3324a5b5
Replaced ReentrantLock with ConcurrentHashMap.computeIfAbsent()
...
to improve performance in StreamBridge.send() method.
- Avoids unnecessary locking overhead
- Improves concurrency and reduces contention
- Enhances throughput for high-load scenarios
Signed-off-by: 2tsumo-hitori <audghks1996@naver.com >
2025-03-24 23:41:07 +01:00
Oleg Zhurakousky
8eebd773fc
GH-3100 Move Brave and Actuator dependenies
...
Moved Brane and Actuator dependencies from test-binder to integration tests under test scope
Resolves #3100
2025-03-20 13:12:42 +01:00
spring-builds
a5c53f735f
Going back to snapshots
2025-02-27 15:46:58 +00:00
spring-builds
1a4eadd8fe
Update SNAPSHOT to 4.3.0-M2
2025-02-27 15:44:27 +00:00
Oleg Zhurakousky
afc8fa29da
GH-3076 Change 'bindings' to ConcurrentHashMap in 'BindingServiceProperties'
...
Using 'ConcurrentSkipListMap' was causing significant performance issues
Resolves #3076
2025-02-26 08:39:00 +01:00
spencergibb
9889362f44
Formatting
2025-02-21 11:51:18 -05:00
Oleg Zhurakousky
c6c5e09c5d
GH-3085 add test configuration file
2025-02-21 15:15:09 +01:00
Oleg Zhurakousky
3e624057a7
GH-3085 Add Number and Boolean Spel converter
...
Refactor SpelConverter into an abstract class
Resolves #3085
2025-02-21 15:05:51 +01:00
spencergibb
ea074ac414
Sets proxyBeanMethods = false on test config
2025-02-18 11:49:07 -05:00
Steven Gantz
25427bc718
Add additional test and error handling
...
Handle when functionToInvoke returns null
add link to issue
Signed-off-by: Steven Gantz <steven.p.gantz@gmail.com >
2025-02-10 20:59:43 -05:00
spring-builds
dc3669bfcf
Going back to snapshots
2025-01-30 03:00:53 +00:00
spring-builds
4edccc3b56
Update SNAPSHOT to 4.3.0-M1
2025-01-30 02:58:18 +00:00
Oleg Zhurakousky
adddeffbf3
GH-3071 Add support for accessing producer/consumer properties
2025-01-28 09:36:58 +01:00
Soby Chacko
8954aaf336
Bumping next version to 4.3.0-SNAPSHOT
2025-01-17 11:06:07 -05:00
Artem Bilan
f259c55704
* Implement SmartLifecycle contract on the DefaultBinderFactory.
...
When CRaC checkpoint is requested, the binder contexts must be stopped as well,
which includes all their managed beans, respectively.
2025-01-07 14:22:23 -05:00
Oleg Zhurakousky
3f8b7003e7
GH-3054 Clear channel cache in StreamBridge during the refresh
...
Resolves #3054
2024-12-19 12:06:00 +01:00
spencergibb
637636dfa8
Adds @ConditionalOnMissingBean to test binder ObservationRegistry
2024-12-12 10:43:44 -05:00
Oleg Zhurakousky
aa2b309e66
GH-3030 Modify InputBindingLifecycle phase
...
Resolves #3030
2024-12-11 13:17:38 +01:00
Oleg Zhurakousky
1349adaba3
GH-3053 Fix regression with 'default' properties validation
...
Resolves #3053
2024-12-09 13:52:49 +01:00
Oleg Zhurakousky
c67fca58c4
GH-3052 Add to additional-spring-configuration-metadata.json
...
Resolves #3052
2024-12-04 16:16:44 +01:00
Agustino Lim
a88c34fc9f
GH-3033: Register ObservationRegistry for Dynamic MessageChannels
...
Fixes: gh-3033
* ensure `ObservationRegistry` is registered on dynamically created `MessageChannel` instances in `StreamBridge`
2024-12-04 13:13:20 +01: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
Ö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
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
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
12468dcd0a
Fix checkstyles
2024-10-21 17:57:07 +02: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
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
Ö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
Ömer Çelik
e445a34f8d
Code Cleanup - StringBuilder, Redundant Iteration, Record
2024-10-05 01:32:15 +03: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
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