Commit Graph

3889 Commits

Author SHA1 Message Date
buildmaster
b07377207c Bumping versions to 4.0.6-SNAPSHOT after release 2024-01-25 21:09:15 +00:00
buildmaster
5859a1758d Going back to snapshots 2024-01-25 21:09:15 +00:00
buildmaster
16728e6b2b Update SNAPSHOT to 4.0.5 2024-01-25 21:04:50 +00:00
Soby Chacko
0aae39707e GH-2883: CCE from custom error channel bean
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2883

When an applicaiton provides a custom errorChannel bean that is not of type
`PublishSubscribeChannel`, the application fails to start with a CCE. This is
because `BindingServiceConfiguration` uses a hard cast on `PublishSubscribeChannel`
without pre-checking the channel type. Fixing this issue.
2024-01-22 17:26:04 -05:00
Soby Chacko
09b408416b Fix compile issues 2024-01-19 16:07:34 -05:00
Soby Chacko
e55de656eb GH-2885: Channel used by StreamBridge missing name
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/2885

The `DirectWithAttributesChannel` used by `StreamBridge` is missing naming
information. Adding the proper application context and component name data
to the channel so that it is able to construct a name when queried.
2024-01-19 15:59:28 -05:00
Soby Chacko
d63f873c30 GH-2794: AMCB ObjectMaper serialization issues
Fixes https://github.com/spring-cloud/spring-cloud-stream/issues/2794

The custom ObjectMapper used in AMCB is unable to serialize java.time.Duration
values. To fix this, the ObjectMapper needs to register the JavaTimeModule from
the jackson-datatype-jsr310 libarary.

Adding a test to verify the fix.
2023-12-21 17:24:07 -05:00
Oleg Zhurakousky
1e1bcec914 GH-2728 Reverse order of propagation of beans between parent and child context
Resolves #2728
2023-12-04 18:01:56 +01:00
Oleg Zhurakousky
4c66ed77c9 Add test for empty JSON 2023-11-30 19:01:47 +01:00
Georg Friedrich
863f8093c0 GH-2843: Kafka Streams binder component bean issue
Fix automatic Serde detection for branched function components

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2843
2023-11-13 13:41:58 -05:00
kurt
3575c9937d StreamBridge's dynamic destinations should be closed on shutdown.
- if not, we might lose some messages on shutdown especially in case of kafka async mode producing.

Resolves #2835
2023-10-20 16:04:57 +02:00
Soby Chacko
eebbe7a5bb GH-2815: StreamBridge partitioning fixes
- When native encoding is used, StreamBridge is not setting
   partitioning interceptor which calls the PartitionHandler.
   This is a regression issue and adding the interceptor explicitly
   when native encoding is used.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2815
Resolves #2831
2023-10-18 15:07:44 +02:00
Soby Chacko
e56a7bd1cd GH-2817: Method name clash in Kafka Streams binder
- When there are two methods with the same name but with different type erasures,
   Kafka Streams binder sometimes detects the incorrect method. Fixing this issue
   by specifically type checking the return type for Kafka Streams types.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2817
2023-09-29 21:27:38 -04:00
Soby Chacko
39cca4766a GH-2820: Component beans and function return types
- When Kafka Streams functions are provided as component beans,
   the function type check in the core Spring Cloud Stream framework,
   fails with an NPE. Addressing this issue.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2820
2023-09-29 17:02:22 -04:00
Soby Chacko
9ad1e11cec GH-2821: Kafka Streams branching as Component bean
- When Kafka Streams branching function is provided as a Component bean,
   there is an issue where the raw class check on the return outbound
   resolvable type cuases an NPE. Fixing this issue by adding a null check
   on the return type's raw class.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2821
2023-09-29 16:27:51 -04:00
Soby Chacko
856df54166 GH-2823: Messages routed to the wrong consumer
- When event-type routing is enabled in Kafka Streams binder
   and conurrency > 1 is used, messages are occasionally getting
   dispatched to the wrong consumer causing CCE. This is due
   to a race condition caused by a shared resource across threads.
   Fixing the issue by introducing a ThreadLocal variable.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2823
2023-09-29 10:45:48 -04:00
Oleg Zhurakousky
b536e208cb Fix property value type 2023-09-26 07:10:32 +02:00
Soby Chacko
c573048a03 Disable a sample application test 2023-09-21 11:47:13 -04:00
spencergibb
60a22dadc2 Uses 4.0.x for docs 2023-09-20 16:27:04 -04:00
Soby Chacko
b8c45b646a GH-2805: StreamBridge send and custom content-type
- When StreamBridge#send is called with binder-name and custom content-type,
   it does not honor the content-type value, but default to application/json.
   Fixing this issue for this call path by explicitly checking for any custom
   content-type provided on the binding.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2805
Resolves #2813
2023-09-20 13:12:05 +02:00
Soby Chacko
8fdf5637de Make AbstractBindingLifecycle public
See this discussion for details:
https://github.com/spring-cloud/spring-cloud-stream/pull/2793#issuecomment-1715420091
2023-09-19 18:55:14 -04:00
omercelikceng
d96939493b Cloud Stream Core RuntimeHints
- Adding missing runtime hints for Stream Binding (InputBindingLifecycle and OutputBindingLifecycle)

Resolves spring-cloud#2793
2023-09-19 17:36:53 -04:00
Soby Chacko
ca58e13fc7 GH-2601: Kafka Streams Binder Docs Cleanup
Remove docs references to the deprecated/removed StreamsBuilderFactoryBeanCustomizer
in Spring for Apache Kafka in favor of StreamsBuilderFactoryBeanConfigurer.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2601
2023-09-11 17:21:01 -04:00
Soby Chacko
5f266ce580 Kafka binder RuntimeHints
- Adding missing runtime hints for Kafka binder properties

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2604
2023-09-08 18:28:44 -04:00
Soby Chacko
7009b710ba Schema Registry Property Migration
- Schema registry property migration to spring.cloud.stream prefix
 - Other cleanup in Schema Registry

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2687
2023-09-08 15:17:24 -04:00
omercelik
8b33104b8d GH-2787: NestedConfigurationProperties for native
Nested configurations(BindingProperties(ConsumerProperties and ProducerProperties))
in the BindingServiceProperties class do not work when built with native image.
For this reason, the consumer and producer properties under the Bindings configuration
do not work. Adding @NestedConfigurationProperty annotation on the property fields
in BindingProperties.

For more info see https://docs.spring.io/spring-boot/docs/current/reference/html/native-image.html#native-image.advanced

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2787
2023-09-05 17:01:29 -04:00
Gyurian Norbert
d3e85a527b GH-2761: Support non-CLASSPATH based certificates
If kafka truststore and keystore locations are not local files, then they
are converted to org.springframework.core.io.Resource resources, then copied
to local file system. This means that, paths can be defined as HTTP resources too.
Currently, the Kafka binder only supports CLASSPATH based resources. It would be
useful if we can support non-CLASSPATH like resources such as HTTP, so that if an
application uses config server for example to store certificates, then those will
be copied from it's HTTP endpoint to the local filesystem as Resources.

Checkstyle, documentation fixes.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2761
2023-09-05 13:15:53 -04:00
Raja Kolli
1a9ee23256 fixes typo in setting DLQ 2023-09-05 13:15:35 -04:00
Debugging Sparrow
9570e55a65 Fix typo in BinderProperties
Fix typo in BinderProperties
2023-09-05 13:15:01 -04:00
Soby Chacko
e933100244 KafkaNull Test Changes
There was a regression introduced in Spring Cloud Function where consumers
of type Consumer<Message<?>> receive null values when tombstone records
are given as KafkaNull.

See this issue for more details: https://github.com/spring-cloud/spring-cloud-function/issues/1060

Regression is addressed in Spring Cloud Function and
making the corresponding test changes in Spring Cloud Stream Kafka binder.
2023-08-30 12:37:53 -04:00
omercelik
09f791d968 GH-2788: Outer context bean needed for AOT
OuterContext bean is added to application context for AOT.
This bean is needed when the actuator dependency is added.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2788
2023-08-15 15:42:47 -04:00
Soby Chacko
048041bfdb KafkaJaasLoginModuleInitializer init changes
- Insted of unconditionally initializing KafkaJaasLoginModuleInitializer,
   only create it, if jaas properties are set properly. By creating it always,
   we unncessarily expose Java security related class requirements to the binder
   apps. For e.g. if the underlying JVM security classes change and require
   reflection, that could break AOT apps that don't use a secure Kafka cluster.
   Fixing these type of issues by creating KafkaJaasLoginModuleInitializer only if required.
2023-08-10 12:19:03 -04:00
Oleg Zhurakousky
fce5df6c57 GH-2783 Ensure proper cashing of StreamBridge function
Resolves #2783
2023-08-09 16:01:16 +02:00
buildmaster
afe3666962 Bumping versions to 4.0.5-SNAPSHOT after release 2023-07-27 20:02:52 +00:00
buildmaster
69bffeb7a6 Going back to snapshots 2023-07-27 20:02:52 +00:00
buildmaster
f0d66cf8b6 Update SNAPSHOT to 4.0.4 2023-07-27 19:58:30 +00:00
buildmaster
9916fe1b01 Bumping versions 2023-07-27 02:32:41 +00:00
Soby Chacko
203a82e046 Kafka Streams binder security test changes
- Invalidate security configuration in Kafka Streams binder
   security related tests. See the previous commit for more details.
2023-07-26 10:12:27 -04:00
Soby Chacko
d230b62bcc Kafka binder security test changes
- Before running a test, invalidate any existing JVM-wide static
   security configuration so that tests are forced to create/use
   fresh security configuration. Without this, test suites with
   multiple security tests might fail as they might overlap with
   security confugiruation from other tests.
2023-07-26 10:12:20 -04:00
Soby Chacko
77dac3ffa9 Fix BindersHealthContributor thread safety issues
Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2780
2023-07-26 09:29:45 -04:00
Soby Chacko
de61594a91 Disable BinderChildContextInitializerTests temporarily
Due to some apparent timing issue on CI, disable this test temporarily
2023-07-26 09:26:56 -04:00
Soby Chacko
2467db0aa9 Fix test for the second binding in the previous commit
Resolves #2772
Resooves #2770
2023-07-17 13:31:07 +02:00
Soby Chacko
5bf152915d 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:31:01 +02:00
Soby Chacko
974c96a003 Replace absolute URL in kafka docs
- Instead of using absolute URL in kafka binder docs,
  use current-SNAPSHOT version.
2023-07-14 14:55:22 -04:00
“claudio-code”
cbda586083 fixed broken links 2023-07-14 14:55:14 -04:00
buildmaster
db695b1f02 Bumping versions 2023-07-14 02:32:51 +00:00
Ivan Shapoval
cfb33676d8 Fix documentation related to explicit binding name change 2023-07-06 17:12:37 -04:00
Istvan Viczian
ac72748878 Schema registry doc corrections (#2767)
* Format Schema Registry Server documentation

Use backtick for formatting API operations

* Fix the url of Schema Registry Server in doc

* Fix the artifact of Schema Registry Server in doc

Embeddable artifact name is
`spring-cloud-stream-schema-registry-core` now
2023-07-06 12:42:37 -04:00
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