5.1.0
Changes between 5.0.0 and 5.1.0
This maintenance release catches up with new features and bug fixes from 4.3.0 and 4.4.0. It is compatible with 5.0.0. All users of 5.0.0 are encouraged to upgrade to this version. Users of previous version should check the 5.0.0 changelog for breaking changes.
Add property file-based initialization
It's now possible to use a property file to configure the ConnectionFactory
(e.g. host, username, password, etc).
GitHub issue: #324
Add Java 9 module name
The Automatic-Module-Name: com.rabbitmq.client
entry has been added to the JAR manifest, for interoperability with JDK 9 module system.
GitHub issue: #320
Get rid of read retry in NIO
The NIO mode used to use retries on network reading to make sure the outstanding frame would be completed in the current loop iteration. It now handle partial frames and moves on if a frame cannot be completed immediately. This behaviour is more consistent with NIO usage.
GitHub issue: #319
Load client version in a more reliable way
This could affect classpath-sensitive environments like OSGi.
GitHub issue: #334
Support Micrometer
The Java Client supports Micrometer through its MicrometerMetricsCollector
implementation of MetricsCollector
. Micrometer is an instrumentation facade, which supports popular metrics backends (Atlas, Graphite, Ganglia, Datadog, JMX, etc). Note Micrometer requires Java 8 or more. The Java Client 4.3.x still supports Java 6, but Micrometer support isn't usable on Java 6 and Java 7.
GitHub issue: #313
Make auto-recovery retry interval calculation pluggable
The RecoveryDelayHandler
interface has been introduced to calculate the retry interval between each connection recovery attempt. The default strategy is still the same: a constant interval (5 seconds by default). The ExponentialBackoffDelayHandler
implementation can be used to have an exponential retry interval.
Thanks to @vikinghawk for this contribution.
GitHub issue: #308
Handle several buffer underflow results in SslEngineByteBufferInputStream
Thanks to @dimas for this fix.
GitHub issue: #317