Getting Started
Architecture
NServiceBus
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

RabbitMQ Transport Upgrade Version 7 to 8

Component: RabbitMQ Transport

Timeout manager

The timeout manager has been removed from NServiceBus 8, so the EnableTimeoutManager backwards compatibility API has been removed from the transport. The timeout migration tool should be used to migrate any remaining timeout messages.

Certificate connection string options removed

The certPath and certPassphrase connection string options have been removed. The SetClientCertificate API should be used instead.

requestedHeartbeat connection string option removed

The requestedHeartbeat connection string option has been removed. The SetHeartbeatInterval API should be used instead.

retryDelay connection string option removed

The retryDelay connection string option has been removed. The SetNetworkRecoveryInterval API should be used instead.

Transport no longer claims to support TransportTransactionMode.None

The transport does not have any functional difference between TransportTransactionMode.ReceiveOnly and TransportTransactionMode.None modes, but there has been no way to indicate this before NServiceBus 8. Now that NServiceBus 8 has enabled this, the transport now only supports TransportTransactionMode.ReceiveOnly.

IRoutingTopology SetupSubscription and TeardownSubscription changes

The type parameter of the SetupSubscription and TeardownSubscription methods of the IRoutingTopology interface has changed from System.Type to NServiceBus.Unicast.Messages.MessageMetadata. Custom routing topology implementations will need to be updated.

Invocation of handler code has changed

The invocation of handler code has changed to use the RabbitMQ async consumer.
This has implications when it comes to parallel execution of handlers. For example synchronous handlers will run sequentially.
In order to achieve higher parallelism, handlers need to be modified according to the asynchronous handlers documentation.

Related Articles

  • RabbitMQ Transport
    An overview of the RabbitMQ transport, learn how to configure and use RabbitMQ as a transport in NServiceBus.
  • Upgrade Version 7 to 8
    Instructions on how to upgrade NServiceBus from version 7 to version 8.