In the example below, the message isn’t visible anymore once you pulled it. But if you supply with --ack-mode=ack_requeue_true argument, the message is pulled and then requeued. This is why when you pull the message again, it has redelivered=true.
➜ ~ docker exec -it rabbitmq rabbitmqadmin declare queue --name=greetings
➜ ~ docker exec -it rabbitmq rabbitmqadmin publish message --routing-key=greetings --payload=henlo
Message published and routed successfully
➜ ~ docker exec -it rabbitmq rabbitmqadmin get messages --queue=greetings
┌───────────────┬─────────────┬──────────┬─────────────┬───────────────┬────────────┬─────────┬──────────────────┐
│ payload_bytes │ redelivered │ exchange │ routing_key │ message_count │ properties │ payload │ payload_encoding │
├───────────────┼─────────────┼──────────┼─────────────┼───────────────┼────────────┼─────────┼──────────────────┤
│ 5 │ false │ │ greetings │ 0 │ │ henlo │ string │
└───────────────┴─────────────┴──────────┴─────────────┴───────────────┴────────────┴─────────┴──────────────────┘
➜ ~ docker exec -it rabbitmq rabbitmqadmin get messages --queue=greetings
┌───────────────┬─────────────┬──────────┬─────────────┬───────────────┬────────────┬─────────┬──────────────────┐
│ payload_bytes │ redelivered │ exchange │ routing_key │ message_count │ properties │ payload │ payload_encoding │
└───────────────┴─────────────┴──────────┴─────────────┴───────────────┴────────────┴─────────┴──────────────────┘
➜ ~ docker exec -it rabbitmq rabbitmqadmin publish message --routing-key=greetings --payload=henlo
Message published and routed successfully
➜ ~ docker exec -it rabbitmq rabbitmqadmin get messages --queue=greetings --ack-mode=ack_requeue_true
┌───────────────┬─────────────┬──────────┬─────────────┬───────────────┬────────────┬─────────┬──────────────────┐
│ payload_bytes │ redelivered │ exchange │ routing_key │ message_count │ properties │ payload │ payload_encoding │
├───────────────┼─────────────┼──────────┼─────────────┼───────────────┼────────────┼─────────┼──────────────────┤
│ 5 │ false │ │ greetings │ 0 │ │ henlo │ string │
└───────────────┴─────────────┴──────────┴─────────────┴───────────────┴────────────┴─────────┴──────────────────┘
➜ ~ docker exec -it rabbitmq rabbitmqadmin get messages --queue=greetings
┌───────────────┬─────────────┬──────────┬─────────────┬───────────────┬────────────┬─────────┬──────────────────┐
│ payload_bytes │ redelivered │ exchange │ routing_key │ message_count │ properties │ payload │ payload_encoding │
├───────────────┼─────────────┼──────────┼─────────────┼───────────────┼────────────┼─────────┼──────────────────┤
│ 5 │ true │ │ greetings │ 0 │ │ henlo │ string │
└───────────────┴─────────────┴──────────┴─────────────┴───────────────┴────────────┴─────────┴──────────────────┘
➜ ~ docker exec -it rabbitmq rabbitmqadmin get messages --queue=greetings
┌───────────────┬─────────────┬──────────┬─────────────┬───────────────┬────────────┬─────────┬──────────────────┐
│ payload_bytes │ redelivered │ exchange │ routing_key │ message_count │ properties │ payload │ payload_encoding │
└───────────────┴─────────────┴──────────┴─────────────┴───────────────┴────────────┴─────────┴──────────────────┘