package main import ( "fmt" "log" "sync" "time" "github.com/streadway/amqp" ) func declareQueue(ch *amqp.Channel, queueName string) error { _, err := ch.QueueDeclare( queueName, // name false, // durable false, // delete when unused false, // exclusive false, // no-wait nil, // arguments ) return err } func producer(ch *amqp.Channel, wg *sync.WaitGroup, queueName string) { defer wg.Done() for i := 1; i <= 5; i++ { message := fmt.Sprintf("Message %d", i) err := ch.Publish( "", // exchange queueName, // routing key false, // mandatory false, // immediate amqp.Publishing{ ContentType: "text/plain", Body: []byte(message), }) if err != nil { log.Fatalf("Failed to publish a message: %v", err) } fmt.Printf("Sent: %s\n", message) time.Sleep(time.Second) } } func consumer(ch *amqp.Channel, wg *sync.WaitGroup, queueName string) { defer wg.Done() msgs, err := ch.Consume( queueName, // queue "", // consumer true, // auto-ack false, // exclusive false, // no-local false, // no-wait nil, // args ) if err != nil { log.Fatalf("Failed to register a consumer: %v", err) } for msg := range msgs { fmt.Printf("Received: %s\n", msg.Body) } } func main() { conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/") if err != nil { log.Fatalf("Failed to connect to RabbitMQ: %v", err) } defer conn.Close() ch, err := conn.Channel() if err != nil { log.Fatalf("Failed to open a channel: %v", err) } defer ch.Close() queueName := "your_queue_name" // Declare the queue before using it err = declareQueue(ch, queueName) if err != nil { log.Fatalf("Failed to declare queue: %v", err) } var wg sync.WaitGroup wg.Add(2) go producer(ch, &wg, queueName) go consumer(ch, &wg, queueName) wg.Wait() }
运行结果
Sent: Message 1 Received: Message 1 Sent: Message 2 Received: Message 2 Sent: Message 3 Received: Message 3 Sent: Message 4 Received: Message 4 Sent: Message 5 Received: Message 5
猜你喜欢
- 6天前(零碳中国·绿色投资蓝皮书)中国"零碳"差旅之路暨"绿色低碳酒店"标准研究项目成果发布会召开
- 6天前(2020海丝之路文化博览会)2023海丝之路文化和旅游博览会开幕
- 6天前(上海文旅产业发展高峰论坛)《上海打造文旅元宇宙新赛道行动方案》发布
- 6天前(中旅酒店 维景)中旅酒店首次AI数字人直播亮相南京维景
- 6天前(河南省文旅大会精神)2025河南省文化旅游发展大会新闻发布会在郑州召开
- 6天前(天气预报 华为)2025HDC华为天气上新系统级天气智能体,引领更智能的气象服务
- 6天前(中国最好的避暑山庄)2025中国十大避暑山庄评选揭晓,澳涞山庄夺魁
- 6天前(澳涞山庄见证北欧零碳到中国实践,世界十佳环境保护城市榜单发布)澳涞山庄见证北欧零碳到中国实践,世界十佳环境保护城市榜单发布
- 6天前(安岚度假村及酒店推出"山海之约"目的地婚礼计划)安岚度假村及酒店推出"山海之约"目的地婚礼计划
- 6天前(美诺酒店集团旗下臻选品牌m collection)美诺酒店集团启动盛橡品牌战略焕新 开启全球扩张新篇章
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章