| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package main
- import (
- "log"
- "github.com/streadway/amqp"
- )
- func failOnError(err error, msg string) {
- if err != nil {
- log.Fatalf("%s: %s", msg, err)
- }
- }
- func main() {
- conn, err := amqp.Dial("amqp://toor:aaaAAA111!!!@ubuntu:5672/")
- failOnError(err, "Failed to connect to RabbitMQ")
- defer conn.Close()
- ch, err := conn.Channel()
- failOnError(err, "Failed to open a channel")
- defer ch.Close()
- q, err := ch.QueueDeclare(
- "task_queue", // 队列名称
- true, // durable 持久化队列
- false, // autoDelete
- false, // exclusive
- false, // noWait
- nil, // arguments
- )
- failOnError(err, "Failed to declare a queue")
- body := "Hello Persistent RabbitMQ Message"
- err = ch.Publish(
- "", // exchange
- q.Name, // routing key
- false, // mandatory
- false, // immediate
- amqp.Publishing{
- DeliveryMode: amqp.Persistent, // 持久化消息
- ContentType: "text/plain",
- Body: []byte(body),
- })
- failOnError(err, "Failed to publish a message")
- log.Printf(" [x] Sent %s\n", body)
- }
|