Add passive mode exchange declaration option to amqp consumer input (#3995)
This commit is contained in:
parent
986186a440
commit
850eff5246
|
@ -3036,6 +3036,8 @@
|
|||
# url = "amqp://localhost:5672/influxdb"
|
||||
# ## AMQP exchange
|
||||
# exchange = "telegraf"
|
||||
# ## Exchange passive mode
|
||||
# exchange_passive = false
|
||||
# ## AMQP queue name
|
||||
# queue = "telegraf"
|
||||
# ## Binding Key
|
||||
|
|
|
@ -19,6 +19,8 @@ The following defaults are known to work with RabbitMQ:
|
|||
url = "amqp://localhost:5672/influxdb"
|
||||
## AMQP exchange
|
||||
exchange = "telegraf"
|
||||
## Exchange passive mode
|
||||
exchange_passive = false
|
||||
## AMQP queue name
|
||||
queue = "telegraf"
|
||||
## Binding Key
|
||||
|
|
|
@ -20,6 +20,8 @@ type AMQPConsumer struct {
|
|||
URL string
|
||||
// AMQP exchange
|
||||
Exchange string
|
||||
// Exchange passive mode
|
||||
ExchangePassive bool
|
||||
// Queue Name
|
||||
Queue string
|
||||
// Binding Key
|
||||
|
@ -58,6 +60,8 @@ func (a *AMQPConsumer) SampleConfig() string {
|
|||
url = "amqp://localhost:5672/influxdb"
|
||||
## AMQP exchange
|
||||
exchange = "telegraf"
|
||||
## Exchange passive mode
|
||||
exchange_passive = false
|
||||
## AMQP queue name
|
||||
queue = "telegraf"
|
||||
## Binding Key
|
||||
|
@ -174,6 +178,17 @@ func (a *AMQPConsumer) connect(amqpConf *amqp.Config) (<-chan amqp.Delivery, err
|
|||
return nil, fmt.Errorf("Failed to open a channel: %s", err)
|
||||
}
|
||||
|
||||
if a.ExchangePassive == true {
|
||||
err = ch.ExchangeDeclarePassive(
|
||||
a.Exchange, // name
|
||||
"topic", // type
|
||||
true, // durable
|
||||
false, // auto-deleted
|
||||
false, // internal
|
||||
false, // no-wait
|
||||
nil, // arguments
|
||||
)
|
||||
} else {
|
||||
err = ch.ExchangeDeclare(
|
||||
a.Exchange, // name
|
||||
"topic", // type
|
||||
|
@ -183,6 +198,7 @@ func (a *AMQPConsumer) connect(amqpConf *amqp.Config) (<-chan amqp.Delivery, err
|
|||
false, // no-wait
|
||||
nil, // arguments
|
||||
)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Failed to declare an exchange: %s", err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue