Commit Graph

3869 Commits

Author SHA1 Message Date
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
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