Commit Graph

173 Commits

Author SHA1 Message Date
Oleg Zhurakousky
b4e976f371 GH-2783 Ensure proper cashing of StreamBridge function
Resolves #2783
2023-08-09 15:58:47 +02:00
Soby Chacko
93b584d20e Fix BindersHealthContributor thread safety issues
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2780
2023-07-25 16:59:23 -04:00
Soby Chacko
50c461fb30 Fix test for the second binding in the previous commit
Resolves #2772
Resooves #2770
2023-07-17 13:29:22 +02:00
Soby Chacko
b83b2c6aa4 GH-2770: sendto header and key extraction
When sendto header is used for dynamic destinations
and a partition key extractor is given for binder based
partitioning, then the partition key extractor is not invoked
when publishing the message. Addressing this issue.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2770
2023-07-17 13:01:35 +02:00
Soby Chacko
efe6c87d48 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:55:25 -04:00
Soby Chacko
3235492304 Checkstyle fix 2023-06-16 16:11:21 -04:00
manyasi06
09a47b06a1 add test for improving coverage defaultbinder 2023-06-16 15:04:10 +02:00
Soby Chacko
63d2bd3256 Updating to 4.1.0-SNAPSHOT 2023-06-14 14:22:10 -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
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
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
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
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
3c29149a14 GH-2707 Add support for function post processing 2023-04-13 13:53:06 +02:00
Chris Bono
a01bf30d38 GH-2655: AOT support user declared binders
- Adds support for AOT child context generation
  for user-declared binder configurations.

Fixes #2655
2023-04-04 20:50:55 -04:00
buildmaster
ea37eed9be Bumping versions 2023-03-29 17:33:29 +00:00
buildmaster
b2f2b51b90 Bumping versions 2023-03-28 17:27:48 +00:00
buildmaster
58c028f339 Bumping versions to 4.0.3-SNAPSHOT after release 2023-03-28 14:51:23 +00:00
buildmaster
c45f2e3ac7 Going back to snapshots 2023-03-28 14:51:22 +00:00
buildmaster
d932cf990f Update SNAPSHOT to 4.0.2 2023-03-28 14:47:17 +00:00
Soby Chacko
9259d6425e Display binder name in bindings actuator endpoint
- Resolve binder name and type from default binder if they
   are not provided as part of binding properties.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2664
2023-03-27 13:48:14 -04:00
Oleg Zhurakousky
948dd2a38a GH-2664 Add support for displaying binder name/type
Resolves #2664

GH-2664 polishing
2023-03-27 09:08:13 +02:00
Soby Chacko
3aa517f11d BiConsumer creates an output binding
Currently, when the user provides a BiConsumer, the framework
creates an output binding and subsequently a target destination
on the middleware. This is unncessary and causes issues for the
application. This commit addresses this issue.

This commit requires changes from the following PR in Spring Cloud Function:
https://github.com/spring-cloud/spring-cloud-function/pull/1016

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2670
Resolves #2676
2023-03-24 11:17:54 +01:00
Oleg Zhurakousky
5aaacb97b7 GH-2672 re-add bridge to global error channel to ensure logging
Resolves #2672
2023-03-22 17:37:26 +01:00
Soby Chacko
693a4a7b60 Migrate StreamFunctionConfigurationProperties
Move StreamFunctionConfigurationProperties from StreamFunctionProperties
and migrate as a top-level class.
2023-03-21 19:44:00 -04:00
Oleg Zhurakousky
98051a0a1e GH-2674 Cleanup deprecated and obsolete properties in StreamFunctionProperties
Resolves #2674
2023-03-21 13:41:36 +01:00
Fernando Blanch
807f51f175 Support pause/resume for consumer bindings with multiple destinations from BindingsLifecycleController
add test queryng a binding that not exists return empty list

remove unnecessary formatting changes

Resolves #2660
Resolves #2658
2023-03-01 13:33:22 +01:00
Soby Chacko
47c8adcf99 Remove lingering usage of javax.annotation.PostConstruct
Use jakarta.annotation instead.
2023-02-27 16:04:47 -05:00
Soby Chacko
756f02d435 javadocs cleanup in Binding interface 2023-02-08 14:45:43 -05:00
Soby Chacko
5810ba60a7 Disable deploying test module
Disable deploying spring-cloud-stream-integration-tests.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2636
2023-01-26 12:44:17 -05:00
Byungjun You
7895025c47 Use 'instanceof' pattern variable
Update authors and copyright years

Fixing checkstyle issue
2023-01-26 11:30:04 -05:00
buildmaster
b49fde97c8 Bumping versions 2023-01-26 16:01:13 +00:00
buildmaster
7bff24af68 Bumping versions 2023-01-25 17:26:18 +00:00
buildmaster
46bc9c5709 Bumping versions to 4.0.2-SNAPSHOT after release 2023-01-25 14:33:14 +00:00