xframe/component/queue/rabbitmq/message.go

31 lines
476 B
Go
Raw Normal View History

2024-10-12 12:55:20 +08:00
package rabbitmq
import (
amqp "github.com/rabbitmq/amqp091-go"
)
type (
IMQMessage interface {
Ack() error
Reject() error
}
Message struct {
Body []byte
RouteKey string
MQMessage IMQMessage // used to ack or reject consumed messages, supported in ConsumeHandler
}
RabbitMessage struct {
msg amqp.Delivery
}
)
func (m *RabbitMessage) Ack() error {
return m.msg.Ack(false)
}
func (m *RabbitMessage) Reject() error {
return m.msg.Reject(true)
}