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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

Go
達(dá)令說 2022-01-04 11:04:09
我是 golang 的新手,我想重構(gòu)我的代碼,以便rabbitmq 初始化在另一個(gè) main 函數(shù)中。所以我使用了一個(gè)結(jié)構(gòu)指針(包含所有初始化的 rabbitmq 信息)并將其傳遞給發(fā)送函數(shù),但它告訴我:無法發(fā)布消息:異常(504)原因:“通道/連接未打開”結(jié)構(gòu):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貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

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

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


查看完整回答
反對(duì) 回復(fù) 2022-01-04
  • 1 回答
  • 0 關(guān)注
  • 555 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)