diff --git a/consume.go b/consume.go index f16a386..7e9e80d 100644 --- a/consume.go +++ b/consume.go @@ -285,16 +285,18 @@ func (consumer Consumer) startGoroutines( return err } - for _, routingKey := range routingKeys { - err = consumer.chManager.channel.QueueBind( - queue, - routingKey, - consumeOptions.BindingExchange, - consumeOptions.BindingNoWait, - tableToAMQPTable(consumeOptions.BindingArgs), - ) - if err != nil { - return err + if consumeOptions.BindingExchange != "" { + for _, routingKey := range routingKeys { + err = consumer.chManager.channel.QueueBind( + queue, + routingKey, + consumeOptions.BindingExchange, + consumeOptions.BindingNoWait, + tableToAMQPTable(consumeOptions.BindingArgs), + ) + if err != nil { + return err + } } } diff --git a/examples/consumer/main.go b/examples/consumer/main.go index aa240e4..355dc29 100644 --- a/examples/consumer/main.go +++ b/examples/consumer/main.go @@ -8,7 +8,7 @@ import ( func main() { consumer, err := rabbitmq.NewConsumer( - "amqp://user:pass@localhost", + "amqp://guest:guest@localhost", rabbitmq.WithConsumerOptionsLogging, ) if err != nil { @@ -21,10 +21,11 @@ func main() { return true }, "my_queue", - []string{"routing_key1", "routing_key2"}, + []string{"routing_key", "routing_key_2"}, rabbitmq.WithConsumeOptionsConcurrency(10), rabbitmq.WithConsumeOptionsQueueDurable, rabbitmq.WithConsumeOptionsQuorum, + rabbitmq.WithConsumeOptionsBindingExchange("events"), ) if err != nil { log.Fatal(err) diff --git a/examples/publisher/main.go b/examples/publisher/main.go index 1b3296d..def3b27 100644 --- a/examples/publisher/main.go +++ b/examples/publisher/main.go @@ -8,7 +8,7 @@ import ( func main() { publisher, returns, err := rabbitmq.NewPublisher( - "amqp://user:pass@localhost", + "amqp://guest:guest@localhost", rabbitmq.WithPublisherOptionsLogging, ) if err != nil { @@ -20,6 +20,7 @@ func main() { rabbitmq.WithPublishOptionsContentType("application/json"), rabbitmq.WithPublishOptionsMandatory, rabbitmq.WithPublishOptionsPersistentDelivery, + rabbitmq.WithPublishOptionsExchange("events"), ) if err != nil { log.Fatal(err)