当然,您不应该为每个请求创建连接。使它成为应用程序上下文的全局变量或更好的部分,您可以在启动时对其进行一次初始化。
您可以通过使用
Connection.NotifyClose以下方法注册通道来处理连接错误:
func initialize() { c := make(chan *amqp.Error) go func() { err := <-c log.Println("reconnect: " + err.Error()) initialize() }() conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/") if err != nil { panic("cannot connect") } conn.NotifyClose(c) // create topology}


