GH-3271: Add AmqpClient implementation for AMQP 1.0#3272
Merged
cppwfs merged 8 commits intospring-projects:mainfrom Jan 6, 2026
Merged
GH-3271: Add AmqpClient implementation for AMQP 1.0#3272cppwfs merged 8 commits intospring-projects:mainfrom
AmqpClient implementation for AMQP 1.0#3272cppwfs merged 8 commits intospring-projects:mainfrom
Conversation
Member
Author
|
This is just an initial PR with a PoC to make sure that I am on the right track with an API. Thanks |
cppwfs
approved these changes
Jan 5, 2026
Contributor
cppwfs
left a comment
There was a problem hiding this comment.
The client is so cool!
Added my comments.
spring-amqp-client/src/main/java/org/springframework/amqp/client/DefaultAmqpClient.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/ProtonUtils.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/ProtonUtils.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/DefaultAmqpClient.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/test/java/org/springframework/amqp/client/AmqpClientTests.java
Show resolved
Hide resolved
cppwfs
requested changes
Jan 5, 2026
spring-amqp-client/src/main/java/org/springframework/amqp/client/ProtonUtils.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/ProtonUtils.java
Show resolved
Hide resolved
Fixes: spring-projects#3271 * Introduce the `AmqpClient` as a fluent API for send and receive operations. This is similar to well-known `WebClient` and `JdbcClient` APIs * Add `AmqpClientException` and `AmqpClientNackReceivedException` specific to ProtonJ interaction * Document the new `spring-amqp-client` module (at least what is there so far)
* Implement `ReceiveSpec` * Expose `AmqpClient.taskExecutor` * Expose `AmqpClient.completionTimeout` * Rework `AmqpClientTests` to use new `AmqpClient.from()` API instead of native ProtonJ * Cover more properties interchange and conversion support * Document `AmqpClient.from()` API
* Some other comments and explanations
cppwfs
requested changes
Jan 6, 2026
Contributor
cppwfs
left a comment
There was a problem hiding this comment.
Things are looking good!
Here are my usual annoying comments :-)
spring-amqp-client/src/main/java/org/springframework/amqp/client/AmqpClient.java
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/AmqpClient.java
Outdated
Show resolved
Hide resolved
spring-amqp-client/src/main/java/org/springframework/amqp/client/AmqpClient.java
Show resolved
Hide resolved
...g-amqp-client/src/main/java/org/springframework/amqp/client/SingleAmqpConnectionFactory.java
Show resolved
Hide resolved
* Provide more Javadocs for public API
cppwfs
approved these changes
Jan 6, 2026
Contributor
cppwfs
left a comment
There was a problem hiding this comment.
With the latest set of changes I think we can merge this POC! WDYT?
Great work on this!!!!
Member
Author
|
Thanks for quick and reasonable review! There are still a lot of API I have in mind to implement, but all of that could be done in separate PRs. So, feel free to merge. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes: #3271
AmqpClientas a fluent API for send and receive operations. This is similar to well-knownWebClientandJdbcClientAPIsAmqpClientExceptionandAmqpClientNackReceivedExceptionspecific to ProtonJ interactionspring-amqp-clientmodule (at least what is there so far)