1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#!/bin/bash
QUEUE_NAME="my-quorum-queue"
VHOST="/"
remove_existing_queue() {
docker exec -it rabbit1 rabbitmqctl delete_queue $QUEUE_NAME
}
create_quorum_queue() {
docker exec -it rabbit1 rabbitmqadmin declare queue name=$QUEUE_NAME durable=true arguments='{"x-queue-type":"quorum"}'
}
verify_quorum_queue() {
docker exec -it rabbit1 rabbitmqctl list_queues name type durable auto_delete arguments | grep $QUEUE_NAME
}
send_test_message() {
docker exec -it rabbit1 rabbitmqadmin publish exchange=amq.default routing_key=$QUEUE_NAME payload='Hello, RabbitMQ!'
}
receive_test_message() {
docker exec -it rabbit1 rabbitmqadmin get queue=$QUEUE_NAME ackmode=ack_requeue_false
}
echo "Removing existing quorum queue if it exists..."
remove_existing_queue
echo "Creating quorum queue..."
create_quorum_queue
echo "Verifying quorum queue..."
verify_quorum_queue
echo "Sending test message..."
send_test_message
echo "Receiving test message..."
receive_test_message
echo "Quorum queue setup and message test completed successfully."
|