parent
1e6f57717a
commit
3d630f3d77
27
client.go
27
client.go
|
@ -62,6 +62,7 @@ type QueueSettings struct {
|
|||
Arguments amqp.Table
|
||||
QueuePublishSettings QueuePublishSettings
|
||||
QueueConsumeSettings QueueConsumeSettings
|
||||
QueueBindSettings QueueBindSettings
|
||||
}
|
||||
|
||||
type QueuePublishSettings struct {
|
||||
|
@ -77,7 +78,15 @@ type QueueConsumeSettings struct {
|
|||
Exclusive bool
|
||||
NoLocal bool
|
||||
NoWait bool
|
||||
Args amqp.Table
|
||||
Arguments amqp.Table
|
||||
}
|
||||
|
||||
type QueueBindSettings struct {
|
||||
QueueName string
|
||||
RoutingKey string
|
||||
Exchange string
|
||||
NoWait bool
|
||||
Arguments amqp.Table
|
||||
}
|
||||
|
||||
type Client struct {
|
||||
|
@ -230,6 +239,20 @@ func (client *Client) init(conn *amqp.Connection) error {
|
|||
|
||||
client.AssignedQueueName = q.Name
|
||||
|
||||
if client.queueSettings.QueueBindSettings.QueueName != "" {
|
||||
err = ch.QueueBind(
|
||||
client.queueSettings.QueueBindSettings.QueueName,
|
||||
client.queueSettings.QueueBindSettings.RoutingKey,
|
||||
client.queueSettings.QueueBindSettings.Exchange,
|
||||
client.queueSettings.QueueBindSettings.NoWait,
|
||||
client.queueSettings.QueueBindSettings.Arguments,
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
client.changeChannel(ch)
|
||||
}
|
||||
|
||||
|
@ -363,7 +386,7 @@ func (client *Client) ConsumeQueueMessages() (<-chan amqp.Delivery, error) {
|
|||
client.queueSettings.QueueConsumeSettings.Exclusive,
|
||||
client.queueSettings.QueueConsumeSettings.NoLocal,
|
||||
client.queueSettings.QueueConsumeSettings.NoWait,
|
||||
client.queueSettings.QueueConsumeSettings.Args,
|
||||
client.queueSettings.QueueConsumeSettings.Arguments,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue