Getting Started
Architecture
NServiceBus
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

RabbitMQ Transport Upgrade Version 9 to 10

Component: RabbitMQ Transport

RabbitMQ management API access is now required

The transport now uses the RabbitMQ management API to verify broker requirements and enable delivery limit validation.

The RabbitMQ management plugin must be enabled, and the plugin's statistics and metrics collection must not be disabled. The port that the management API is using needs to be accessible by the transport. The default port is 15672 for HTTP and 15671 for HTTPS. See Configuring RabbitMQ management API access for configuration options.

RabbitMQ Client v7 Upgrade

The transport now uses RabbitMQ.Client v7, which exclusively supports an async API model. This change results in some breaking changes in the public API.

For details, see the RabbitMQ client changelog.

IRoutingTopology Updates

The following changes have been made to IRoutingTopology:

  • All methods return a ValueTask.
  • The type of the channel parameter has been changed from RabbitMQ.Client.IModel to RabbitMQ.Client.IChannel.
  • The type of the properties parameter has been changed from RabbitMQ.Client.IBasicProperties to RabbitMQ.Client.BasicProperties.
  • All methods include a CancellationToken as the last parameter.

Related Articles

  • RabbitMQ Transport
    An overview of the RabbitMQ transport, learn how to configure and use RabbitMQ as a transport in NServiceBus.