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 executor configuration for KafkaClient #955

Merged
merged 6 commits into from
Feb 28, 2024
Merged

Conversation

jeremyg484
Copy link
Contributor

@jeremyg484 jeremyg484 commented Jan 30, 2024

An executor configuration parameter is added to AbstractKafkaProducerConfiguration and the KafkaClient annotation to allow an executor to be used to enable fully non-blocking reactive and CompletableFuture producer methods.

The new configuration is used by KafkaClientIntroductionAdvice to retrieve the corresponding ExecutorService and use it to make the introduced method implementations non-blocking wherever possible by offloading the blocking KafkaProducer calls to a separate thread from that of the caller.

Resolves #480

An executor configuration parameter is added to
`AbstractKafkaProducerConfiguration` and the `KafkaClient` annotation
to allow an executor to be used to enable fully non-blocking reactive
and `CompletableFuture` producer methods.

The new configuration is used by KafkaClientIntroductionAdvice to
retrieve the corresponding `ExecutorService` and use it to make the
introduced method implementations non-blocking wherever possible by
offloading the blocking `KafkaProducer` calls to a separate thread from
that of the caller.
@CLAassistant
Copy link

CLAassistant commented Feb 7, 2024

CLA assistant check
All committers have signed the CLA.

src/main/docs/guide/kafkaQuickStart.adoc Outdated Show resolved Hide resolved
src/main/docs/guide/kafkaClient/kafkaClientMethods.adoc Outdated Show resolved Hide resolved
jeremyg484 and others added 2 commits February 8, 2024 10:59
Co-authored-by: Tim Yates <tim.yates@gmail.com>
Copy link

sonarcloud bot commented Feb 9, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
36.4% Coverage on New Code (required ≥ 70%)
1 New Critical Issues (required ≤ 0)

See analysis details on SonarCloud

idea Catch issues before they fail your Quality Gate with our IDE extension SonarLint SonarLint

@sdelamo sdelamo merged commit b564957 into master Feb 28, 2024
10 of 11 checks passed
@sdelamo sdelamo deleted the non-blocking-client branch February 28, 2024 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Kafka unavailability blocks the event loop
4 participants