Commit Graph

3841 Commits

Author SHA1 Message Date
sy.choi
39eca198fb add word spacing 2023-07-06 12:42:13 -04:00
Gary Russell
38503aa34f GH-2673: Fix Doc Anchor Name
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2763
2023-06-29 11:46:05 -04:00
Soby Chacko
a2842e7edd Test fix in ReactorKafkaBinderHealthIndicator 2023-06-22 16:26:02 -04:00
Soby Chacko
806e6ea047 Reactor Kafka Binder Health Indicator (#2755)
* Reactor Kafka Binder Health Indicator

 - Provide a new abstraction for general Kafka binder related HealthIndicators.
 - Refactor Kafka binder to use the new abstraction
 - Add HealthIndicator implementation for the ReactorKafkaBinder

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2752

* Addressing PR review

* Addressing PR review

* Addressing PR review
2023-06-22 14:25:04 -04:00
Soby Chacko
3e9688144c Avoid StreamBridge double partition finding
- In StreamBridge send method, there is a path, in which it
   tries to find the partition information twice, causing it
   to throw errors when using patition key expresson that
   involves the payload. This is because, the second time it
   tries to find the partition, the payload is already converted
   into byte[]. This second partition finding is unncessary.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2759
2023-06-21 13:57:44 -04:00
Soby Chacko
3059a8af6c Minor refactoring to KafkaBinderHealthIndicator
- Instead of implementing HealthIndicator directlry,
   extend from AbstractHealthIndicator provided by Spring Boot.
2023-06-14 16:54:30 -04:00
Soby Chacko
2093cb6a99 Multi output partition issues
- When using reactive functions, partition selector strategy does not
   use the configured partition count for multiple outbounds. This is
   because we take the first configured output binding and apply it's
   partition counts on all the outbound reactive streams (Tuples).
   Addressing this issue by properly applying the correct partition handling
   per output binding.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2750
2023-06-14 17:41:22 +02:00
Oleg Zhurakousky
abf5aab2aa GH-2744 Wrap shared beans loading in Throwable
Resolves #2744
2023-06-07 14:24:04 +02:00
Oleg Zhurakousky
2b95f26d64 Polishing previous PR
Resolves #2748
2023-06-07 14:06:27 +02:00
Ivan Shapoval
8d99e80e87 Fix for function auto-detection when input/output-bindings are defined 2023-06-07 10:10:44 +02:00
Oleg Zhurakousky
1e5b41cfee GH-SCF-1045 Fix type discovery in DefaultPollableMessageSource 2023-06-06 09:54:28 +02:00
Soby Chacko
9a773c8647 Cleaning up tests
- Remove unused components from CustomPartitionedProducerTest
2023-06-02 12:40:11 -04:00
Soby Chacko
4f6361c6c4 Troubleshooting CI test failures 2023-06-02 12:06:57 -04:00
Chris Bono
99ae05314a Instrument BinderChildContextInitializerTests to debug failure in CI
- The BinderChildContextInitializerTests is failing in Jenkins but not locally. This adds temporary sout to the test in order to see what the issue is in the child context creation.
2023-06-01 15:45:23 -04:00
Oleg Zhurakousky
2ab71f2f32 Fix function auto-detection when single function and input/output-bindings are defined 2023-05-31 18:37:15 +02:00
Chanhyeong Cho
33528d1114 Polish documentations 2023-05-31 10:00:51 -04:00
Oleg Zhurakousky
5dc2decda2 Cleanup POMs, upgrade versions 2023-05-30 10:05:01 +02:00
Oleg Zhurakousky
8f5e6692c1 Removed explicit Kotlin versioning from POM 2023-05-26 17:23:52 +02:00
buildmaster
0b7d773b30 Bumping versions to 4.0.4-SNAPSHOT after release 2023-05-24 18:47:37 +00:00
buildmaster
16cf46d74f Going back to snapshots 2023-05-24 18:47:37 +00:00
buildmaster
1550366414 Update SNAPSHOT to 4.0.3 2023-05-24 18:43:23 +00:00
jamesforward
14a444885f Multiple functions in Kafka Streams binder
* Trim functionUnits so we can declare them in a multi-line fashion,
   as currently whitespace is still considered.

 * Polishing

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2742
2023-05-22 15:58:57 -04:00
Soby Chacko
0ab5dfc05a KafkaStreams Functions Detection Logic (#2738)
* KafkaStreams Functions Detection Logic

Kafka Streams functions declared in super classes are no longer
detected by the binder discovery algorithms. Fixing this issue
by properly scanning the methods from the super classes.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2737

* Addressing PR review
2023-05-22 09:34:48 -04:00
Gary Russell
ac6dd61630 GH-2729: Reactor Kafka Binder SenderResult Support (#2730)
* GH-2729: Reactor Kafka Binder SenderResult Support

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2729

Allow configuration of a `FluxMessageChannel` to receive `SenderResult`s.
Add `SenderResultMessageHandler` to consume from that channel.

Remove undocumented `sendResult` header, which has no value without the
sender result correlation metadata.

* Add integration test and polish property docs.

- result channel must be FMC for reactive binder.

* Add documentation.

* Remove SenderResultMessageHandler.
2023-05-17 16:10:20 -04:00
Soby Chacko
4d65ccd235 Kafka binder partitioning doc improvements (#2735)
* Kafka binder partitioning doc improvements

* Update docs/src/main/asciidoc/kafka/kafka_partitions.adoc

Co-authored-by: Gary Russell <grussell@vmware.com>

* Update docs/src/main/asciidoc/kafka/kafka_partitions.adoc

Co-authored-by: Gary Russell <grussell@vmware.com>

* Update docs/src/main/asciidoc/kafka/kafka_partitions.adoc

Co-authored-by: Gary Russell <grussell@vmware.com>

---------

Co-authored-by: Gary Russell <grussell@vmware.com>
2023-05-15 16:48:25 -04:00
Soby Chacko
1b3fc7074b Reactive Kafka Binder errors when concurrency > 1 (#2734)
* Reactive Kafka Binder errors when concurrency > 1

When using Reactive Kafka binder, it is allowed to have concurrency > 1.
There is a check in FunctionConfiguration that throws an error if concurrency
is > 1, when using reactive types. Since it is allowed to do so with
Reative Kafka binder, switch this conversion into a warning log message.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2726

* Update core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java

Co-authored-by: Gary Russell <grussell@vmware.com>

* Update core/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/function/FunctionConfiguration.java

Co-authored-by: Gary Russell <grussell@vmware.com>

* Update core/spring-cloud-stream-integration-tests/src/test/java/org/springframework/cloud/stream/function/ImplicitFunctionBindingTests.java

Co-authored-by: Gary Russell <grussell@vmware.com>

---------

Co-authored-by: Gary Russell <grussell@vmware.com>
2023-05-15 16:09:45 -04:00
oliverfuehrer
29c3cd7cdd Dynamic partition improvements in Kafka binder
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2706

  - Update partition count changes in Kafka dynamically during runtime
  - Checkstyle fixes
  - PartitionHandler changes
  - Improved handling of expression with 'payload' in the logic
  - Removed getter/setter for PartitionHandler and use ReflectionUtils within Test
  - Renamed property to 'dynamicPartitionUpdatesEnabled' and improved documentation (also one line per sentence)
  - Improved/renamed test to use embeddedkafka and really test update behaviour
  - Javadoc
2023-05-09 10:14:12 -04:00
Soby Chacko
e19bdd4381 Allow BindableFunctionProxyFactory to be used from outside
Make the top-level constructor of BindableFunctionProxyFactory public
so that external clients could access it.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2721
2023-05-03 16:06:41 -04:00
Soby Chacko
c79066aece Fix checkstyle issues 2023-05-02 09:32:31 -04:00
Soby Chacko
ee55daf06c Fix failing schema registry test
Spring Boot 3.1 introduced an extra isEnabled method in Ssl class
that causes an ambiguity when used in method references.
Use explicit lambda expression instead.
2023-05-01 20:12:31 -04:00
Soby Chacko
7ee3125bc7 Fixing a Kafka binder unit test failure
Latest version of Mockito (5.3.0) used in Spring Boot 3.1.0,
apparently needs the specific Collection type when capturing
values via the ArgumentCaptor. Earlier versisons didn't mandate this.
2023-05-01 18:24:15 -04:00
Jay Kim
a5f9380a55 Correct configuration path for AckMode in the kafka tips document 2023-04-25 09:53:09 -04:00
Oleg Zhurakousky
a922bf3aca Made deprecated method private in OutputDestination 2023-04-21 11:34:43 +02:00
Soby Chacko
33486848da Verifying binder name/type on bindings endpoint
Adding tests for https://github.com/spring-cloud/spring-cloud-stream/issues/2716
2023-04-20 14:45:48 -04:00
Soby Chacko
3abf06345a Binder name in actuator binding endpoints
- Fixing an issue where binder name is broken in bindings endpoint
   when default-binder property is provided with multiple binders
   on the classpath.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2716
2023-04-20 13:19:40 -04:00
Soby Chacko
af51f80414 Remove hardcoded jackson version in schema registry 2023-04-19 10:58:47 -04:00
Soby Chacko
62572d1262 Remove lingering kinesis binder build script 2023-04-19 10:53:53 -04:00
Gary Russell
9a67030d90 GH-2709: Reactive Kafka Binder Pattern Docs 2023-04-18 14:17:20 -04:00
Marc DiPasquale
eb2de7bd42 Add Solace updates 2023-04-18 18:34:11 +02:00
Soby Chacko
6aaad6f619 Clarify docs for binding keys with special chars
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2699
2023-04-18 18:33:37 +02:00
Soby Chacko
f78d410ff6 Enhancing docs on the usage of test binder
- Docs on mixing test binder and the actual middleware based binder.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2684
2023-04-18 18:33:05 +02:00
Gary Russell
c21da59294 GH-2709: Reactive Kafka Binder and Topic Patterns
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2709

Add support for `...destinationIsPattern` as is supported by the message channel
binder.
2023-04-18 10:16:54 -04:00
Chris Bono
3990bb485e GH-2705: AOT support complex binding properties
- Sets the conversion service on AOT child binder
  contexts to allow complex properties to be
  bound in extended binding props

Fixes #2705
2023-04-18 09:32:21 -04:00
Oleg Zhurakousky
0b5ae251f9 GH-2707 Add PostProcessing documentation
Resolves #2707
2023-04-14 17:23:29 +02:00
Oleg Zhurakousky
3c29149a14 GH-2707 Add support for function post processing 2023-04-13 13:53:06 +02:00
dependabot[bot]
06a86a1105 Bump jackson-databind from 2.13.4.1 to 2.13.4.2
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.13.4.1 to 2.13.4.2.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

---
updated-dependencies:
- dependency-name: com.fasterxml.jackson.core:jackson-databind
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Resolves #2681
2023-04-11 14:48:16 +02:00
조찬형[Plasma]
d5e5699f3b Replace duplicate code with existing method
Resolves #2702
2023-04-11 14:36:54 +02:00
Gary Russell
57733739e5 GH-2673: Use Binder Admin Config with Observation
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2673

Also configure observation (if enabled) on DLQ template.
Resolves #2703
2023-04-11 14:33:42 +02:00
Soby Chacko
dd8e707e01 Update Kafka Streams binder docs
spring.cloud.stream.function.definition -> spring.cloud.function.definition.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2680
2023-04-05 16:48:35 -04:00
Gary Russell
f48523f774 GH-2691: Kafka Reactive Binder Support Multiplex (#2698)
* GH-2691: Kafka Reactive Binder Support Multiplex

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2691

* Add docs.
2023-04-05 15:50:07 -04:00