0

When I send a message to a queue using 'rabbitmqadmin' the response is 'Message published', is this a confirmed delivery?

From node for some important operations I use 'createConfirmChannel' and I want to do the same from bash

In the rabbitmq documentation I have read that the only way to make a secure submission is to confirm the channel. I imagine that 'Message published' does not confirm the delivery of the message, but I can't find any information.

Apyc
  • 307
  • 5
  • 12

1 Answers1

0

Interesting question, so I decided to look at the source code for rabbitmqadmin

Please note that rabbitmqadmin uses the HTTP API to publish messages so it should not be used where performance is important.

Here is where the HTTP request is processed and the message is published: source

Note that these lines use confirm.select which means that publisher confirms are enabled: source

So yes, the deliveries are confirmed.


NOTE: the RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

Luke Bakken
  • 8,993
  • 2
  • 20
  • 33
  • Thank you Lucas. I use 'rabbitmqadmin' to work with exchanges, the channel is closed if you work on an exchange that doesn't exist. I have a chat and exchanges (rooms) are created and destroyed very quickly, I don't want to use 'assertExchange' if the exchange doesn't exist I don't want it to create it, important to send advertising. So the send is lost but does not close the channel in a loop. Now I know I can work with confirm queues even though it's less efficient :) – Apyc Oct 25 '22 at 11:20
  • "I have a chat and exchanges (rooms) are created and destroyed very quickly" - `rabbitmqadmin` and the HTTP API are the **WRONG** ways to interact with RabbitMQ in your use-case. Please use an official AMQP client. – Luke Bakken Oct 25 '22 at 15:07
  • Thanks Luke, I appreciate your advice. I use the 'amqplib' library from node and 'rabbitmqadmin' from bash. Per your advice and the doc... I'm going to change the bash scripts with rabbitmqadmin to scripst node with amqplib. Rabbitmqadmin is comfortable for advertising, sending to exchanges (rooms) if it exists, advertising arrives. With amqplib the channel is closed if the exchange does not exist (breaks the sending loop). Although I can also easily change it to node. – Apyc Oct 25 '22 at 21:44