Commit Graph

12 Commits

Author SHA1 Message Date
Stéphane Nicoll 5da4913122 Adapt Kafka auto-configuration to core retry semantics
This commit adapts the auto-configuration of retry topics to Spring
Kafka moving away from Spring Retry. The random property has been
removed in favor of the new jitter value and default values have been
made more explicit.

Closes gh-47125
2025-09-09 10:27:43 +02:00
Phillip Webb 239f384ac0 Update PropertyMapper to better support nullability
Refactor `PropertyMapper` so that it no longer calls adapter or
predicate methods by default when the source value is `null`. This
effectively makes all default calls the same as using
`alwaysWhenNotNull` in the previous generation of the code.

For the limited times when you do need to deal with `null` values, the
new `always()` method can be used.

For example,

	map.from(source::method).to(destination::method);

Will not call `destination.method(...)` if `source.method()` returns
`null`.

Where as:

	map.from(source::method).always().to(destination::method);

Will call  `destination.method(null)` if `source.method()` returns
`null`.

This update provides clearer semantics for the API and allows for better
JSpecify nullability annotations. It has also simplified much of our
existing property mapper code.

Closes gh-47024

Co-authored-by: Moritz Halbritter <moritz.halbritter@broadcom.com>
2025-09-05 14:43:33 -07:00
Phillip Webb 92c3d1835a Adapt to Spring Kafka BackOff updates
See gh-47004
2025-09-04 15:53:38 -07:00
Moritz Halbritter 369b1e92f9 Improve null-safety of module/spring-boot-kafka
See gh-46926
2025-08-26 14:22:55 +02:00
Moritz Halbritter 43f5eb5f79 Improve null-safety of core/spring-boot
See gh-46926
2025-08-26 14:22:54 +02:00
Phillip Webb 7140be8751 Rename metrics, observation, and tracing modules
Rename modules to include 'micrometer'.

Closes gh-46925
2025-08-20 16:05:11 -07:00
Stéphane Nicoll a648d9ede5 Polish "Use Kafka's StreamsBuilderFactoryBeanConfigurer"
See gh-46675
2025-08-07 09:53:50 +02:00
Dmytro Nosan a6668ca22e Use Kafka's StreamsBuilderFactoryBeanConfigurer
This commit removes Boot's StreamBuilderFactoryBeanCustomizer and
updates KafkaStreamsAnnotationDrivenConfiguration to use
Kafka's StreamsBuilderFactoryBeanConfigurer instead of the
nested class KafkaStreamsFactoryBeanConfigurer.

This aligns more closely with how configuration is typically applied.

See gh-46675

Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
2025-08-07 09:48:20 +02:00
Moritz Halbritter 30e7d1eb80 Add nullability annotations to module/spring-boot-kafka
See gh-46587
2025-08-04 11:27:41 +02:00
Moritz Halbritter c0f1f641ce Make auto-configurations final and remove public members
Closes gh-32883
2025-07-29 09:48:49 +02:00
Andy Wilkinson 94215d3fdc Move Threading enum from spring-boot-autoconfigure to spring-boot
The enum itself is not specifically tied to auto-configuration so
spring-boot is a better place for it. The related condition,
`@ConditionalOnThreading`, remains in spring-boot-autoconfigure. This
aligns things with the similar `CloudPlatform` and
`@ConditionalOnCloudPlatform`.

Closes gh-46406
2025-07-11 13:49:41 +01:00
Phillip Webb decc32dde3 Restructure project directories to better fit Gradle
Closes gh-46358
2025-07-10 17:54:08 -07:00