Skip to content

Releases: rabbitmq/rabbitmq-java-client

4.2.0

20 Jul 09:36
042beed

Choose a tag to compare

Changes between 4.1.1 and 4.2.0

This is a maintenance release that includes 2 new features. It's backward compatible with 4.1.x. Users of the 4.0.x and 4.1.x series are encouraged to use this release.

Introduce SSLEngine configuration hook for NIO

It's now possible to configure the SSLEngine used for a secured connection just after its creation. This can be useful to pass in SSLParameters to configure e.g. server's SNI hosts. The new interface is SslEngineConfigurator and an instance can be set in NioParams.

GitHub issue: #274

Add option to ensure RPC reply is for the current request

During node failover and connection recovery, a timed out RPC reply can come back while a second RPC request is waiting. This can cause ClassCastExceptions. It's now possible to enable the ConnectionFactory#channelShouldCheckRpcResponseType to perform a "best-effort" check of RPC replies and ignore non-compatible replies. The default value of the flag is false (no check by default).

Thanks to @vikinghawk for this contribution.

GitHub issue: #290

4.2.0.RC1

11 Jul 12:49
651818b

Choose a tag to compare

4.2.0.RC1 Pre-release
Pre-release

Changes between 4.1.1 and 4.2.0.RC1

This is a release candidate for 4.2.0, a maintenance release that includes 2 new features. This release is backward-compatible with 4.1.1.

Introduce SSLEngine configuration hook for NIO

It's now possible to configure the SSLEngine used for a secured connection just after its creation. This can be useful to pass in SSLParameters to configure e.g. server's SNI hosts. The new interface is SslEngineConfigurator and an instance can be set in NioParams.

GitHub issue: #274

Add option to ensure RPC reply is for the current request

During node failover and connection recovery, a timed out RPC reply can come back while a second RPC request is waiting. This can cause ClassCastExceptions. It's now possible to enable the ConnectionFactory#channelShouldCheckRpcResponseType to perform a "best-effort" check of RPC replies and ignore non-compatible replies. The default value of the flag is false (no check by default).

Thanks to @vikinghawk for this contribution.

GitHub issue: #290

4.1.1

08 Jun 08:33
4270dfb

Choose a tag to compare

Changes between 4.1.0 and 4.1.1

This is a maintenance release that includes bug fixes and a small improvement in the RpcServer class. It's backward compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

Remove e2e bindings for auto-delete exchanges

It was possible to have abandoned e2e bindings in the recordedBindings. This caused a channel error during recovery and caused remaining recovery items to fail as well.

Thanks to vikinghawk for this contribution.

GitHub PR: #281

basicCancel and basicConsume honor RPC timeout

The 2 methods basicCancel and basicConsume now use the channel RPC timeout (they used to not use any timeout at all).

Thanks to vikinghawk for this contribution.

GitHub PR: #278

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.0.3

08 Jun 08:33
b40c756

Choose a tag to compare

Changes between 4.0.2 and 4.0.3

This is a maintenance release that includes a bug fix on connection creation and a bug fix in the NIO mode. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.1.1.RC3

31 May 13:31
fb4c912

Choose a tag to compare

4.1.1.RC3 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC3

This is a release candidate for 4.1.1, a maintenance release that includes bug fixes and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

Remove e2e bindings for auto-delete exchanges

It was possible to have abandoned e2e bindings in the recordedBindings. This caused a channel error during recovery and caused remaining recovery items to fail as well.

Thanks to vikinghawk for this contribution.

GitHub PR: #281

basicCancel and basicConsume honor RPC timeout

The 2 methods basicCancel and basicConsume now use the channel RPC timeout (they used to not use any timeout at all).

Thanks to vikinghawk for this contribution.

GitHub PR: #278

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.0.3.RC1

31 May 13:24
e7eec54

Choose a tag to compare

4.0.3.RC1 Pre-release
Pre-release

Changes between 4.0.2 and 4.0.3.RC1

This is a release candidate for 4.0.3, a maintenance release that includes a bug fix on connection creation and a bug fix in the NIO mode. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.1.1.RC2

30 May 13:18
fc6e2e6

Choose a tag to compare

4.1.1.RC2 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC2

This is a release candidate for 4.1.1, a maintenance release that includes bug fixes and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

Remove e2e bindings for auto-delete exchanges

It was possible to have abandoned e2e bindings in the recordedBindings. This caused a channel error during recovery and caused remaining recovery items to fail as well.

Thanks to vikinghawk for this contribution.

GitHub PR: #281

basicCancel and basicConsume honor RPC timeout

The 2 methods basicCancel and basicConsume now use the channel RPC timeout (they used to not use any timeout at all).

Thanks to vikinghawk for this contribution.

GitHub PR: #278

v4.1.1.RC1

17 May 13:18
a771426

Choose a tag to compare

v4.1.1.RC1 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC1

This is a release candidate for 4.1.1, a maintenance release that includes a bug fix on connection creation and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

4.0.3.RC1

17 May 13:17
5e26b3a

Choose a tag to compare

4.0.3.RC1 Pre-release
Pre-release

Changes between 4.0.2 and 4.0.3.RC1

This is a release candidate for 4.0.3, a maintenance release that includes a bug fix on connection creation. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

4.1.0

20 Feb 09:07
be274a2

Choose a tag to compare

Changes between 4.0.2 and 4.1.0

This is a maintenance release with a few improvements, focused mainly on usability. It's backward compatible with 4.0.x.

Make continuation timeouts configurable

It is now possible to set a timeout for synchronous AMQP calls (e.g. queueDeclare). The default timeout is 10 minutes (there was no timeout at all before that).

GitHub issue: #219

Emit a warning in NullTrustManager

NullTrustManager trusts every server certificate, it is not considered safe to use it in production. A message now warns against its usage and suggests some solutions.

GitHub issue: #230

Deprecate NullTrustManager

NullTrustManager is deprecated in favor of a implementation with a more explicit name: TrustEverythingTrustManager. This new implementation has the same behavior as NullTrustManager (including the warning mesage introduced in this release).

GitHub issue: #234

Create abstract class for metrics collection

Metrics collector implementations can now subclass AbstractMetricsCollector, which contains the tricky metrics collection logic. This makes the metrics collection easier to extend with new metrics library (e.g. Dropwizard Metrics in the Java client or Spring Boot Metrics).

GitHub issue: #222