代码拉取完成,页面将自动刷新
// ezmq: An easy golang amqp client.
// Copyright (C) 2022 super9du
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; If not, see <https://www.gnu.org/licenses/>.
package ezmq
import (
"github.com/streadway/amqp"
"log"
"time"
)
func ExampleConsumer_Receive() {
conn := getConnection()
consumer := conn.Consumer()
consumer.Receive(
"queue.direct",
NewReceiveOptsBuilder().SetAutoAck(false).Build(),
&AbsReceiveListener{
ConsumerMethod: func(delivery *amqp.Delivery) (brk bool) {
log.Println("queue.direct ", delivery.DeliveryTag, " ", string(delivery.Body))
err := delivery.Ack(false)
if err != nil {
log.Println(err)
}
return
},
FinishMethod: func(err error) {
if err != nil {
// 处理错误
return
}
// defer xxx.close() // 关闭资源操作等
},
})
time.Sleep(time.Minute) // 由于 Consumer.Receive() 内部采用了异步方式处理,因此 Receive 方法不会阻塞等待
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。