4.5.0
Changes between 4.4.2 and 4.5.0
This is a maintenance release that includes new features and bug fixes. This release is backward-compatible with 4.4.0. Users of the 4.x.x and 3.6.x series are encouraged to use this release.
Introduce CredentialsProvider
interface for authentication
This can be used to provide different credentials between re-connection.
Thanks to @spatula75 for this contribution.
GitHub PR: #350
Add excludeQueueFromRecovery method
This adds a public method to AutorecoveringConnection
to allow for removal of a queue from recorded queues (and its related bindings) without having to call Channel#queueDelete
.
Thanks to @vikinghawk for this contribution.
GitHub PR: #346
Trigger recovery if a socket write fails
Detecting connection failure on reading can take a lot of time (even forever if the reading thread is stuck), so connection recovery can now be triggered when a write operation fails. This can make the client more reactive to detect TCP connection failure.
GitHub issue: #341
Add RpcClient doCall/responseCall/primitiveCall overloads which include timeout
Thanks to @AndreasPresthammer for this contribution.
GitHub PR: #338
Fix a potential race condition between channel recovery and acknowledgement offset
During recovery, when attempting to acknowledge a delivery the channel could be closed with
reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 0, class-id=60, method-id=80
) and messages would stop being delivered.
Thanks to @vikinghawk for this contribution.
GitHub PR: #343