发送消息
conn, err := lib.RabbitMQConn()
defer conn.Close()
if err != nil {
lib.ErrorHanding(err, "获取conn错误了")
}
channel, err := conn.Channel()
defer channel.Close()
if err != nil {
lib.ErrorHanding(err, "获取channel")
}
queue, err := channel.QueueDeclare(
"juzen_test_queue",
false,
false,
false,
false,
amqp.Table{
"x-dead-letter-exchange": "jz_dead_let",
},
)
if err != nil {
lib.ErrorHanding(err, "queue声明")
}
fmt.Println("queue name", queue.Name)
err = channel.Publish("", "", false, false, amqp.Publishing{
Body: []byte("tst"),
Expiration: "50000",
})
if err != nil {
lib.ErrorHanding(err, "publish错误")
}
2. 接收消息
conn, err := lib.RabbitMQConn()
defer conn.Close()
if err != nil {
lib.ErrorHanding(err, "获取conn错误了")
}
channel, err := conn.Channel()
defer channel.Close()
if err != nil {
lib.ErrorHanding(err, "获取channel")
}
_, err = channel.QueueDeclare(
"juzen_test_queue",
false,
false,
false,
false,
amqp.Table{
"x-dead-letter-exchange": "jz_dead_let",
},
)
if err != nil {
lib.ErrorHanding(err, "queue声明")
}
channel.Qos(1, 0, false)
//err = channel.QueueBind(queue.Name, "ab", "", false, nil)
//if err != nil {
// panic(err)
//}
consume, err := channel.Consume("juzen_test_queue", "", false, false, false, false, nil)
if err != nil {
lib.ErrorHanding(err, "consume错误")
}
for {
for msg := range consume {
fmt.Println("receive msg: ", msg)
msg.Ack(false)
}
}
3. 我这里调试的时候一直接收不到消息请问各位大佬,问题出在哪里