Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the overloaded methods to build producer / consumer properties from KafkaProperties #43300

Open
kitkars opened this issue Nov 27, 2024 · 0 comments
Labels
status: waiting-for-triage An issue we've not yet triaged

Comments

@kitkars
Copy link

kitkars commented Nov 27, 2024

This request is related to 39144.

We used to have below methods in the KafkaProperties class.

buildProducerProperties()
buildConsumerProperties()

Looks like they have been removed / modified to accept SslBundles from 3.4.

buildProducerProperties(SslBundles sslBundles)
buildConsumerProperties(SslBundles sslBundles)

The Reactive Kafka Producer / Consumer Template classes have an option to accept the SenderOptions / ReceiverOptions as shown below. As the buildConsumerProperties requires SslBundles , I can pass null to make the code work as suggested in other thread.

    @Bean
    public ReceiverOptions<String,MyEvent> receiverOptions(KafkaProperties kafkaProperties){
        return ReceiverOptions.<String, MyEvent>create(kafkaProperties.buildConsumerProperties(null))
                .consumerProperty(JsonDeserializer.REMOVE_TYPE_INFO_HEADERS, "false")
                .consumerProperty(JsonDeserializer.USE_TYPE_INFO_HEADERS, false)
                .consumerProperty(JsonDeserializer.VALUE_DEFAULT_TYPE, MyEvent.class)
                .subscription(List.of("my-events"));
    }

    @Bean
    public ReactiveKafkaConsumerTemplate<String, MyEvent> consumerTemplate(ReceiverOptions<String, MyEvent> options){
        return new ReactiveKafkaConsumerTemplate<>(options);
    }

However, It is really convenient to have simple below overloaded method as part of the KafkaProperties class itself which calls the appropriate methods with null.

buildProducerProperties()
buildConsumerProperties()

It would be great if you consider this request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: waiting-for-triage An issue we've not yet triaged
Projects
None yet
Development

No branches or pull requests

2 participants