Commit Graph

3910 Commits

Author SHA1 Message Date
Soby Chacko
28ebf327fc Make AbstractBindingLifecycle public
See this discussion for details:
https://github.com/spring-cloud/spring-cloud-stream/pull/2793#issuecomment-1715420091
2023-09-14 10:57:29 -04:00
Chris Bono
db54f5e730 Update Pulsar binder to use new Spring Pulsar starter.
The PulsarBinder relies on the Spring Pulsar Spring Boot starter.
The starter moved out of the spring-pulsar core repo and into
Spring Boot proper. This commit updates the Pulsar binder to
use the new coordinates for the Spring Boot based starter.

* Additionally, the PulsarProperties were greatly reduced in the
  move to Spring Boot. As such, the binder exposes an extended
  set of config properties for producer/consumer (the initial
  set supported before the property reduction).
2023-09-14 10:33:06 -04:00
Soby Chacko
3c65104b1d GH-2796: Fix partition count related issues (#2807)
If a target middleware (Kafka for ex) topic has more partitions
than what is set on the partition-count producer property, the binder
never updates the original producer partition-count property to the
partition count from the middleware if it is higher than what was given
through the property. Because of this, te PartitionAwareFunctionWrapper
which evaluates and assigns the partition header in Spring Cloud Stream
does not compute the correct partition since the hash operation still
using the original partition-count from the producer binding property.
This commit is addressing this issue.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2796
2023-09-14 08:52:14 -04:00
Oleg Zhurakousky
6a2ba83f6b Migrate RabbitMQ docs to antora 2023-09-14 11:48:01 +02:00
Soby Chacko
6d26ab75d2 Kafka binder antora docs cleanup 2023-09-14 11:48:01 +02:00
Oleg Zhurakousky
4ff968dd1b Finish doc organization for core and schema-registry 2023-09-14 11:48:01 +02:00
Oleg Zhurakousky
13c1afc351 Continue doc organization 2023-09-14 11:48:00 +02:00
Oleg Zhurakousky
f2085f7fba [Antora] Organize Intro and Main Concepts sections 2023-09-14 11:48:00 +02:00
Soby Chacko
6cfeb744d2 More Antora error fixing and cleanup 2023-09-14 11:48:00 +02:00
Oleg Zhurakousky
71e775a70f Initial antora error fixing 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
1084c3f67f WIP 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
c724c0d56e Enable Section Summary TOC for small pages 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
bb4186b856 Fix cross references 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
f2cff0c609 Remove includes 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
95192334fe Generate a default navigation 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
c2278acba9 Split files 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
73394a48ef Fix indentation for all pages 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
039893aadb Copy default antora files 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
ad39d8b9e6 Remove unnecessary asciidoc attributes 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
53dc8e151e Insert explicit ids for headers 2023-09-14 11:48:00 +02:00
Marcin Grzejszczak
4c404c6d51 Migrate Structure 2023-09-14 11:48:00 +02:00
Soby Chacko
9032e86068 Adding ci-pr.yml (#2808)
* Adding ci-pr.yml

* Add missing settings.xml

* [CI] Polish ci-pr.yml

- Remove extra profiles from settings.xml
- Simpify the workflow

---------

Co-authored-by: Chris Bono <cbono@vmware.com>
2023-09-13 18:16:52 -04:00
Soby Chacko
1a62bc3913 GH-2799: AOT processing and conversion service
When building in AOT mode, the BinderChildContextInitializer is unable to get access
to a SpEL expression conversion service in order to properly bind spring.cloud.stream
prefixed properties with values containing SpEL expressions such as headers[partition-key-expression].
However, we don't need to bind at this level of generality (spring.cloud.stream.*) in the
BinderChildContextInitializer since we are only looking for the user defined binders there.
To fix the issue, this commit explicitly binds only the spring.cloud.stream.binders.* properties
and ignores any other binding properties via spring.cloud.stream prefix. Any such conversions
will be done in later phases after the binder contexts are created.

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2799
2023-09-12 18:04:53 -04:00
Soby Chacko
0c256343c7 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:20:01 -04:00
Soby Chacko
b5f9c5093b 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:27:24 -04:00
Soby Chacko
a1424fc4bf 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:16:18 -04:00
Soby Chacko
26597db5b0 KafkaBinderHealthIndicator Changes
- Set considerDownWhenAnyPartitionHasNoLeader to true by default

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2760
2023-09-08 14:51:17 -04:00
Soby Chacko
bec40fba89 KafkaBinderConfigurationProperties native changes
- Earlier, we had to add Autowired on KafkaBinderConfigurationProperties constructor
   as there were some issues with runtime hints generation which caused issues when
   running an app in native mode. Spring Boot fixed these issues and we can remove
   this unnecessary Autowired from the constructor.

See the following issues from Spring Boot for more details.

https://github.com/spring-projects/spring-boot/issues/34507
https://github.com/spring-projects/spring-boot/issues/35564

Resolves https://github.com/spring-cloud/spring-cloud-stream/issues/2640
2023-09-07 16:54:09 -04:00
Soby Chacko
00672ef5b6 Adding documentation for DltAwareProcessor 2023-09-07 12:37:19 -04:00
Soby Chacko
d822129d67 DltAwareProcessor enhancements
Cleaning up the code for the custom DltAwareProcessor
2023-09-06 20:36:35 -04:00
omercelik
149714062c 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 16:37:03 -04:00
Gyurian Norbert
0949d4e145 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 12:58:42 -04:00
Raja Kolli
3c2b91291c fixes typo in setting DLQ 2023-09-01 20:46:04 -04:00
Debugging Sparrow
3f4365156e Fix typo in BinderProperties
Fix typo in BinderProperties
2023-09-01 20:45:36 -04:00
Soby Chacko
acc8b1cb92 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:38:39 -04:00
Soby Chacko
8b7accac2a Renable Pulsar binder 2023-08-29 16:37:25 -04:00
Soby Chacko
f54aeac2c2 Migrate Sample Apps
- Migrate sample apps in the core repository to https://github.com/spring-cloud/spring-cloud-stream-samples
2023-08-29 15:46:44 -04:00
omercelik
fbecaaa5ca 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:36:49 -04:00
buildmaster
aa0e9af3ff Bumping versions 2023-08-12 10:11:21 +00:00
Soby Chacko
3b4e1795c3 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:18:16 -04:00
buildmaster
6c28820e8e Going back to snapshots 2023-08-10 01:30:10 +00:00
buildmaster
4743859cd7 Update SNAPSHOT to 4.1.0-M1 2023-08-10 01:26:38 +00:00
spencergibb
76332e1e42 jenkins/releaser hacking 2023-08-09 16:08:30 -04:00
spencergibb
2380afbe1f fixes checkstyle issues 2023-08-09 15:48:56 -04:00
spencergibb
7505144fcb Ignores pulsar-binder snapshot temporarily
The module is disabled
2023-08-09 15:26:10 -04:00
spencergibb
a45a2811e0 Disables pulsar-binder temporarily 2023-08-09 15:22:10 -04:00
Oleg Zhurakousky
b4e976f371 GH-2783 Ensure proper cashing of StreamBridge function
Resolves #2783
2023-08-09 15:58:47 +02:00
Claudio Silva Junior
b0fb7740b7 Added example to identify if kafka error is in brokers or in topic (#2778)
* Added example to identify Kafka error

* removed implementation and added doc links and added bean example

* changed doc link to the official doc

* Added custom message in the down status of the actuator
2023-07-31 10:39:44 -04:00
Marc DiPasquale
0a02ffcb0a Update outdated solace links (#2777)
* Update binders.adoc

* Update sagan-index.adoc

* Update spring-cloud-stream.adoc
2023-07-25 17:55:12 -04: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