Deprecate Reactive Kafka Binder in 4.3.0
See details here: https://spring.io/blog/2025/05/20/reactor-kafka-discontinued Reactive Kafka binder will be compleltely removed in a future release Signed-off-by: Soby Chacko <soby.chacko@broadcom.com>
This commit is contained in:
@@ -89,7 +89,12 @@ import org.springframework.util.StringUtils;
|
||||
* @author Soby Chacko
|
||||
* @since 4.0
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
public class ReactorKafkaBinder
|
||||
extends AbstractMessageChannelBinder<ExtendedConsumerProperties<KafkaConsumerProperties>,
|
||||
ExtendedProducerProperties<KafkaProducerProperties>, KafkaTopicProvisioner>
|
||||
|
||||
@@ -41,7 +41,13 @@ import org.springframework.context.annotation.Import;
|
||||
* @author Gary Russell
|
||||
* @author Chris Bono
|
||||
* @author Soby Chacko
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnMissingBean(Binder.class)
|
||||
@EnableConfigurationProperties({ KafkaProperties.class, KafkaExtendedBindingProperties.class })
|
||||
|
||||
@@ -35,7 +35,13 @@ import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
|
||||
* {@link org.springframework.boot.actuate.health.HealthIndicator} for Reactor Kafka Binder.
|
||||
*
|
||||
* @author Soby Chacko
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
public class ReactorKafkaBinderHealthIndicator extends AbstractKafkaBinderHealthIndicator {
|
||||
|
||||
private final ReactorKafkaBinder binder;
|
||||
|
||||
@@ -34,7 +34,13 @@ import org.springframework.util.ObjectUtils;
|
||||
/**
|
||||
* @author Soby Chacko
|
||||
* @since 4.1.2
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnClass(name = "org.springframework.boot.actuate.health.HealthIndicator")
|
||||
@ConditionalOnEnabledHealthIndicator("binders")
|
||||
|
||||
@@ -36,7 +36,12 @@ import org.springframework.core.Ordered;
|
||||
* @author Gary Russell
|
||||
* @since 4.0.2
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
public interface ReceiverOptionsCustomizer<K, V>
|
||||
extends BiFunction<String, ReceiverOptions<K, V>, ReceiverOptions<K, V>>, Ordered {
|
||||
|
||||
|
||||
@@ -36,7 +36,12 @@ import org.springframework.core.Ordered;
|
||||
* @author Gary Russell
|
||||
* @since 4.0.2
|
||||
*
|
||||
* @deprecated since 4.3
|
||||
* See the updates in: <a href="https://spring.io/blog/2025/05/20/reactor-kafka-discontinued">...</a>
|
||||
* A suggested alternative is to use the regular Kafka binder with reactive types.
|
||||
* This approach has some limitations as the application need to handle reactive use cases explicitly.
|
||||
*/
|
||||
@Deprecated(since = "4.3", forRemoval = true)
|
||||
public interface SenderOptionsCustomizer<K, V>
|
||||
extends BiFunction<String, SenderOptions<K, V>, SenderOptions<K, V>>, Ordered {
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
[[reactive-kafka-binder]]
|
||||
= Overview
|
||||
|
||||
NOTE: As of Spring Cloud Stream version 4.3.0, the reactive Kafka binder is deprecated and will be completely removed in a future release. See the related updates in https://spring.io/blog/2025/05/20/reactor-kafka-discontinued[Reactor Kafka Discontinued Blog Post]. Please continue to use the regular message channel based Kafka binder with reactive types. Keep in mind that the applications will need to handle the various reactive use cases explicitly using the reactor programming model and support from the Project Reactor directly.
|
||||
|
||||
Kafka binder ecosystem in Spring Cloud Stream provides a dedicated reactive binder based on the https://projectreactor.io/docs/kafka/release/reference/[Reactor Kafka] project.
|
||||
This reactive Kafka binder enables full end-to-end reactive capabilities such as backpressure, reactive streams etc. in applications based on Apache Kafka.
|
||||
This reactive Kafka binder enables full end-to-end reactive capabilities such as backpressure, reactive streams, etc. in applications based on Apache Kafka.
|
||||
When your Spring Cloud Stream Kafka application is written using reactive types (`Flux`, `Mono` etc.), it is recommended to use this reactive Kafka binder instead of the regular message channel based Kafka binder.
|
||||
|
||||
Reference in New Issue
Block a user