第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang - RabbitMq:通道/連接未打開

Golang - RabbitMq:通道/連接未打開

Go
達令說 2022-01-04 11:04:09
我是 golang 的新手,我想重構我的代碼,以便rabbitmq 初始化在另一個 main 函數(shù)中。所以我使用了一個結(jié)構指針(包含所有初始化的 rabbitmq 信息)并將其傳遞給發(fā)送函數(shù),但它告訴我:無法發(fā)布消息:異常(504)原因:“通道/連接未打開”結(jié)構:type RbmqConfig struct {    q amqp.Queue    ch *amqp.Channel    conn *amqp.Connection    rbmqErr error}初始化函數(shù):func initRabbitMq() *RbmqConfig {    config := &RbmqConfig{}    config.conn, config.rbmqErr = amqp.Dial("amqp://guest:guest@localhost:5672/")    failOnError(config.rbmqErr, "Failed to connect to RabbitMQ")    defer config.conn.Close()    config.ch, config.rbmqErr = config.conn.Channel()    failOnError(config.rbmqErr, "Failed to open a channel")    defer config.ch.Close()    config.q, config.rbmqErr = config.ch.QueueDeclare(        "<my_queue_name>",        true,   // durable        false,   // delete when unused        false,   // exclusive        false,   // no-wait        nil,     // arguments    )    failOnError(config.rbmqErr, "Failed to declare a queue")    return config}主要的 :config := initRabbitMq()fmt.Println("queue name : ", config.q.Name)sendMessage(config, <message_to_send>)在發(fā)送消息中:func sendMessage(config *RbmqConfig, <message_to_send>) {    config.rbmqErr = config.ch.Publish(        "",           // exchange        config.q.Name,       // routing key        false,        // mandatory        false,        amqp.Publishing{            DeliveryMode: amqp.Persistent,            ContentType:  "text/plain",            Body:         []byte(<message_to_send>),        })    failOnError(config.rbmqErr, "Failed to publish a message")如果有人有任何想法,那將非常有幫助。先感謝您
查看完整描述

1 回答

?
蝴蝶刀刀

TA貢獻1801條經(jīng)驗 獲得超8個贊

在 your 中init,您編寫了defer config.conn.Close(),它將在函數(shù)返回時執(zhí)行。也就是說,無論何時init完成,您的連接都會關閉,從而導致未打開的連接。

您需要推遲連接在 main 中關閉,或者在您希望它關閉的地方延遲。


查看完整回答
反對 回復 2022-01-04
  • 1 回答
  • 0 關注
  • 542 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號