Fix warnings in ClientVersion when amqp-client is relocated #437
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.
Proposed Changes
This pull request fixes spurious warnings emitted by the
com.rabbitmq.client.impl.ClientVersion
class whenamqp-client
is relocated. This problem happens because the keycom.rabbitmq.client.version
is rewritten to use a different prefix by whatever produces the uberjar (maven-shade-plugin
or Gradle Shadow, for instance), but therabbitmq-amqp-client.properties
key is not rewritten.In order to prevent this rewriting, the property key is now stored in a
char[]
and we create aString
from it. This is unusual, but required if we want to retain backwards-compatibility. Doing so allows us to defeat the rewriting done during relocation.This behavior has been broken for a while: prior to bd1d73f, the version returned could be
null
.This issue fixes #436.
While we're here, I also fixed a typo in the exception message thrown by
getVersionFromPropertyFile()
.Types of Changes
What types of changes does your code introduce to this project?
Put an
x
in the boxes that applyChecklist
CONTRIBUTING.md
document