docs(java): add async client JavaDoc and usage guide#2711
docs(java): add async client JavaDoc and usage guide#2711spetz merged 8 commits intoapache:masterfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2711 +/- ##
============================================
+ Coverage 68.32% 68.51% +0.19%
Complexity 656 656
============================================
Files 741 739 -2
Lines 62158 61161 -997
Branches 58571 57574 -997
============================================
- Hits 42468 41904 -564
+ Misses 17583 17236 -347
+ Partials 2107 2021 -86
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
7697f6b to
e39f575
Compare
|
Examples for Java already exist in |
…he#2231) Move blocking/async client examples from foreign/java/examples/ to examples/java/ per reviewer feedback.
7dac198 to
754c07c
Compare
I've updated the PR to move the examples to the canonical |
mmodzelewski
left a comment
There was a problem hiding this comment.
Hey @atharvalade, thanks for the PR. I've left a few comments, please address them.
Which issue does this PR close?
Closes #2231
Rationale
The async client had minimal documentation — interfaces lacked JavaDoc, there was no usage guide, and developers had no reference for CompletableFuture patterns, error handling, or migration from the blocking client.
What changed?
The async client interfaces (
StreamsClient,MessagesClient,TopicsClient,UsersClient,ConsumerGroupsClient) andAsyncIggyTcpClienthad sparse or missing JavaDoc. Developers had to read the source to understand method contracts, parameter semantics, and exception behavior.Added comprehensive JavaDoc to all public async APIs with
@param,@return,@throws, and@seecross-references. CreatedASYNC_CLIENT.mdcovering getting started, connection management, error handling, CompletableFuture chaining patterns, three example applications (high-throughput producer, backpressure consumer, error recovery), performance characteristics (async vs blocking, thread pool sizing), and a step-by-step migration guide. Addedpackage-info.javafor both async packages.Local Execution
compileJava,checkstyleMain,spotlessCheck, andjavadocall pass with zero errorsprekis Rust-specific, this PR is Java/docs onlyAI Usage
{@link},@see, and@throwstag against the actual source code, and to verify all code examples in the guide use correct method signatures, return types, and accessor names from the real API.clean+compileJava+checkstyleMain+spotlessCheck+javadoc) all pass. Manually audited every JavaDoc reference against the source (e.g., confirmedCompressionAlgorithm.Noneis an enum constant not a method, confirmed record accessors likestream.id()andpolled.messages()match actual field names, confirmed all 11 exception types in the error handling table exist in the hierarchy).