Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.2k views
in Technique[技术] by (71.8m points)

rabbitmq接收不到消息

发送消息
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. 我这里调试的时候一直接收不到消息请问各位大佬,问题出在哪里

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...