diff --git a/transports/rabbitmq/delayed-delivery.md b/transports/rabbitmq/delayed-delivery.md index e5a8e8aaad9..ed486f627b2 100644 --- a/transports/rabbitmq/delayed-delivery.md +++ b/transports/rabbitmq/delayed-delivery.md @@ -185,4 +185,4 @@ partial: disabledelayeddelivery When upgrading the RabbitMQ cluster, it is recommended to use the [rolling (in-place)](https://www.rabbitmq.com/docs/upgrade#rolling-upgrade) method. -Due to the way the native delayed delivery infrastructure is implemented, upgrading RabbitMQ by using [blue-green deployments](https://www.rabbitmq.com/docs/upgrade#blue-green-deployment) is more complicated and requires the specialized shovelling of delayed messages in order to avoid message loss. Contact [Particular support](https://customers.particular.net/request-support) for further details on this scenario. +Due to the way the native delayed delivery infrastructure is implemented, upgrading RabbitMQ by using [blue-green deployments](https://www.rabbitmq.com/docs/upgrade#blue-green-deployment) is more complicated and requires the specialized shovelling of delayed messages in order to avoid message loss. You can use one of the supported cli tools like [`delays transfer`](operations-scripting.md#delays-transfer) to aid with the shoveling. diff --git a/transports/rabbitmq/operations-scripting_content_rabbit_[11,).partial.md b/transports/rabbitmq/operations-scripting_content_rabbit_[11,).partial.md index b6d91d43662..1b06f02e72a 100644 --- a/transports/rabbitmq/operations-scripting_content_rabbit_[11,).partial.md +++ b/transports/rabbitmq/operations-scripting_content_rabbit_[11,).partial.md @@ -89,6 +89,26 @@ rabbitmq-transport delays transfer [options] `--disableCertValidation` : Disable remote certificate validation when connecting to the broker
`--routingTopology` | `-r` : The routing topology to use
+> [!NOTE] +> Before running this command, the destination broker must have the v2 delay infrastructure in place. Use the [`delays create`](#delays-create) command to set it up: +> +> ``` +> rabbitmq-transport delays create --connectionString "amqp://user:pass@destination-host" --managementApiUrl "http://destination-host:15672" +> ``` + +> [!NOTE] +> All exchanges and queues that exist on the source broker must also exist on the destination broker before running this command. Use the [`endpoint create`](#endpoint-create) command for each endpoint: +> +> ``` +> rabbitmq-transport endpoint create --connectionString "amqp://user:pass@destination-host" +> ``` + +#### Usage example + +``` +rabbitmq-transport delays transfer --sourceConnectionString "amqp://user:pass@source-host" --destinationConnectionString "amqp://user:pass@destination-host" +``` + ### `delays verify` Use this command to verify broker requirements for using the v2 delay infrastructure: